Ir para conteúdo
Fórum Script Brasil

Marco Rolim

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que Marco Rolim postou

  1. quero definir que Leonardo e Danilo Dorneles não sejam designados Indicadores de entrada e de auditorio.... já tentei de tudo segue o codigo: <?php function distribuirOperadoresDeSom($nomes, $mes) { $dias = array(); $numNomes = count($nomes); $nomeIndex = 0; for ($dia = 1; $dia <= 31; $dia++) { $diaSemana = date("N", strtotime("$mes-$dia")); if ($diaSemana == 2 || $diaSemana == 6) { $dias[$dia] = $nomes[$nomeIndex]; $nomeIndex = ($nomeIndex + 1) % $numNomes; } } return $dias; } function distribuirNomesParaFuncoes($nomes, $mes, $operadoresSomDesignados) { $funcoes = array( "Indicador de Entrada" => "", "Indicador de Auditório" => "", "Microfone 1" => "", "Microfone 2" => "", "Leitor" => "" ); $numDiasNoMes = date("t", strtotime($mes)); $numNomes = count($nomes); $resultados = array(); $nomeIndex = 0; for ($dia = 1; $dia <= $numDiasNoMes; $dia++) { $diaSemana = date("N", strtotime("$mes-$dia")); if ($diaSemana == 2 || $diaSemana == 6) { $operadorSom = isset($operadoresSomDesignados[$dia]) ? $operadoresSomDesignados[$dia] : null; // Armazenar os nomes já usados neste dia para evitar duplicação $nomesUsados = array(); foreach ($funcoes as $funcao => $nome) { if ($funcao == "Leitor") { // Garantir que Fernando e Lourenço não sejam designados como Leitor while ( $nomes[$nomeIndex] == "Lourenço" || $nomes[$nomeIndex] == "Fernando" || $nomes[$nomeIndex] == $operadorSom || in_array($nomes[$nomeIndex], $nomesUsados) ) { $nomeIndex = ($nomeIndex + 1) % $numNomes; } } else { while ($nomes[$nomeIndex] == $operadorSom || in_array($nomes[$nomeIndex], $nomesUsados)) { $nomeIndex = ($nomeIndex + 1) % $numNomes; } } $funcoes[$funcao] = $nomes[$nomeIndex]; $nomesUsados[] = $nomes[$nomeIndex]; // Marcar o nome como usado $nomeIndex = ($nomeIndex + 1) % $numNomes; } $resultados[] = array( "data" => date("d/m/Y", strtotime("$mes-$dia")), "diaSemana" => ($diaSemana == 2 ? "Terça-feira" : "Sábado"), "operadorSom" => $operadorSom, "funcoes" => $funcoes ); } } return $resultados; } if ($_SERVER["REQUEST_METHOD"] == "POST") { $nomesFuncoes = isset($_POST['nomes_funcoes']) ? explode(",", $_POST['nomes_funcoes']) : array(); $nomesSom = isset($_POST['nomes_som']) ? explode(",", $_POST['nomes_som']) : array(); $mes = isset($_POST['mes']) ? $_POST['mes'] : ""; if (!empty($mes)) { // Configura o idioma para português do Brasil setlocale(LC_TIME, 'pt_BR', 'pt_BR.utf8', 'portuguese'); // Formata o nome do mês em português $mesFormatado = strftime("%B de %Y", strtotime($mes)); // Exemplo: "novembro de 2024" $resultadosSom = distribuirOperadoresDeSom($nomesSom, $mes); $resultadosFuncoes = distribuirNomesParaFuncoes($nomesFuncoes, $mes, $resultadosSom); echo "<style> table { border-collapse: collapse; width: 100%; margin-top: 20px; } th, td { border: 1px solid #ddd; padding: 8px; text-align: left; } th { background-color: #4682B4; color: white; } tr:nth-child(even) { background-color: #f2f2f2; } tr:nth-child(odd) { background-color: #ffffff; } .header { text-align: center; font-family: Arial, sans-serif; margin-bottom: 20px; } .header h1 { font-size: 24px; color: #4682B4; } .header h2 { font-size: 20px; color: #000; } </style>"; // Cabeçalho echo "<div class='header'>"; echo "<h1>CONGREGAÇÃO CENTRO-OESTE, GAMA, DF – 002 – Nº 82446</h1>"; echo "<h2>ÁUDIO E VÍDEO / INDICADORES / LEITORES</h2>"; echo "<h3>" . strtoupper($mesFormatado) . "</h3>"; // Exibe o mês escolhido no cabeçalho em português echo "</div>"; // Tabela principal echo "<table>"; echo "<tr><th>Dia/Mês</th><th>Dia da Semana</th><th>Indicador de Entrada</th><th>Indicador de Auditório</th><th>Microfone 1</th><th>Microfone 2</th><th>Leitor</th><th>Operador de Som</th></tr>"; foreach ($resultadosFuncoes as $resultado) { echo "<tr>"; echo "<td>{$resultado['data']}</td>"; echo "<td>{$resultado['diaSemana']}</td>"; foreach ($resultado['funcoes'] as $nome) { echo "<td>{$nome}</td>"; } echo "<td>{$resultado['operadorSom']}</td>"; echo "</tr>"; } echo "</table>"; // Adicionando a seção de orientações echo "<h2>ORIENTAÇÕES</h2>"; echo "<table>"; echo "<tr><th>Função</th><th>Descrição</th></tr>"; echo "<tr><td>Indicador de Entrada</td><td>A designação começa <strong>30 minutos antes de cada reunião e termina depois que todos os presentes terem deixado o local.</strong> Monitorar a entrada antes, durante e depois da reunião. <strong>Trancar os portões 5 minutos depois do início da reunião.</strong> Inspecionar o estacionamento 30 minutos depois do inicio da reunião e 15 minutos antes de a reunião terminar. Destrancar os portões depois da oração final. Trancar os portões e as portas depois que todos tiverem deixado o local. Ajudar o indicador do auditório se for necessário evacuar o local. Dar boas vindas aos presentes.</td></tr>"; echo "<tr><td>Indicador de Auditório</td><td>A designação começa <strong>30 minutos antes de cada reunião e termina depois que todos os presentes terem deixado o local.</strong> Dar instruções durante emergências (como evacuações, alarmes de incêndio e ameaças de bomba) e garantir que os serviços de emergências sejam contatados conforme a necessidade.<strong> Monitorar o auditório, o palco, a temperatura e a ventilação. Cuidar de situações que atrapalhem a reunião e de situações que envolvem sério risco de segurança.</strong> Trabalhar em conjunto com o indicador da entrada. Cuidar do bem estar dos irmãos durante a reunião, repondo copos e em outras situações. <strong>Anotar o numero de presentes na assistência e no zoom, e anotar no relatório.</strong> Dar boas vindas e ajudar os que chegam atrasados a encontrar lugares, sem atrapalhar o andamento da reunião.</td></tr>"; echo "<tr><td>1º Microfone e Assistente de Palco</td><td>Essa é uma designação dupla. <strong>Assistente de palco: Cuida de todas as necessidades do palco, como ajustar microfones, levar água ao orador e leitor, levar e trazer os microfones ao palco,</strong> ajudar quando existir algum problema tecnico e em possíveis mudanças nos moveis do palco. Manter o palco organizado e em bom funcionamento. <strong>Microfone Volante:</strong> Estar atento para levar o microfone sem fio a assistência para comentários. <strong>Utilizar a vara de extensão.</strong> No fim da reunião, recolher os microfones do palco, enrolar os cabos e trazer ao balcão do som, zelando pelo cuidado com os equipamentos, tendo cuidado para não bater nem derrubar os mesmos.</td></tr>"; echo "<tr><td>2º Microfone</td><td>Estar atento para levar o microfone sem fio a assistência para comentários. <strong>Utilizar a vara de extensão.</strong> Ao final, recolher as varas e guardar, zelando pelo cuidado com os equipamentos, tendo cuidado para não bater nem derrubar os mesmos.</td></tr>"; echo "</table>"; } else { echo "<p>Preencha todos os campos do formulário.</p>"; } } ?>
×
×
  • Criar Novo...