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);
// 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>";
// 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>";
}
}
?>
Pergunta
Marco Rolim
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>";
}
}
?>
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.