public static function imprimirSelecionados() { ini_set("display_errors", "off"); $cracha = new Cracha(); $crachas = $cracha->listar('evento = \'br30\' AND id IN (' . implode(",", $_POST['idsCrachas']) . ')', 'nome'); $posicaoInicio = $_POST['posicao']; $totalPaginas = ceil(count($crachas) / 10); for ($i = 1; $i < $posicaoInicio; $i++) { array_unshift($crachas, array()); } $divisaoCrachas = array(); for ($i = 1; $i <= $totalPaginas; $i++) { $divisaoCrachas[$i] = array_slice($crachas, ($i - 1) * 10, 10); } $divisaoCrachasTemp = array(); foreach ($divisaoCrachas as $indice => $unDivisaoCrachas) { for ($i = 1; $i <= 5; $i++) { $divisaoCrachasTemp[$indice][$i] = !empty($unDivisaoCrachas) ? array_slice($unDivisaoCrachas, ($i - 1) * 2, 2) : array('teste1', 'teste2'); } } $divisaoCrachas = $divisaoCrachasTemp; $codigosDeBarras = array(); foreach ($crachas as $cracha) { $color_black = new BCGColor(0, 0, 0); $color_white = new BCGColor(255, 255, 255); $font = new BCGFontFile(__DIR__ . '/../components/barcodegen/font/Arial.ttf', 18); $code = new BCGcode39(); // Or another class name from the manual $code->setScale(2); // Resolution $code->setThickness(30); // Thickness $code->setForegroundColor($color_black); // Color of bars $code->setBackgroundColor($color_white); // Color of spaces $code->setFont($font); // Font (or 0) $code->parse(str_pad($cracha->fk_participante, 4, "0", STR_PAD_LEFT)); // Text // $code->clearLabels(); ob_start(); $drawing = new BCGDrawing('', $color_white); $drawing->setBarcode($code); $drawing->draw(); header('Content-Type: image/png'); $drawing->finish(BCGDrawing::IMG_FORMAT_PNG); $codigosDeBarras[$cracha->id] = ob_get_contents(); ob_end_clean(); ob_start(); } header('Content-Type: text/html;'); self::$header = ''; self::$topo = ''; self::$menu = ''; self::$corpo = "imprimirSelecionados"; self::$footer = ''; self::$variaveis = array('divisaoCrachas' => $divisaoCrachas, 'codigosDeBarras' => $codigosDeBarras, 'posicaoInicio' => $posicaoInicio); self::renderizar(self::$viewController); }
public static function filtros() { if (!empty($_POST['tipo']) && !empty($_POST['formulario'])) { $tipo = $_POST['tipo']; $formulario = $_POST['formulario']; $participante = new Participante(); switch ($tipo) { case 'todos': $participantes = $participante->listarPorIdFormulario($formulario); break; case 'sem-foto': $cracha = new Cracha(); $crachas = $cracha->listar(); $idsParticipantes = array(); foreach ($crachas as $cracha) { $idsParticipantes[] = $cracha->fk_participante; } $idsParticipantes = implode(", ", $idsParticipantes); $participante = new Participante(); $participantes = $participante->listarPorIdFormulario($formulario, 'id NOT IN (' . $idsParticipantes . ')'); break; case 'so-aprovados': $participantes = $participante->listarPorIdFormulario($formulario, 'confirmou = 1'); break; case 'cpfs-invalidos': $participantes = $participante->listarPorIdFormulario($formulario); foreach ($participantes as $indice => $participante) { $objetoParticipante = json_decode($participante->respostas); if ($objetoParticipante->nacionalidade != 'Brasileiro' || Util::validaCPF($objetoParticipante->cpf)) { unset($participantes[$indice]); } } break; case 'so-aprovados-sem-foto': $cracha = new Cracha(); $crachas = $cracha->listar(); $idsParticipantes = array(); foreach ($crachas as $cracha) { $idsParticipantes[] = $cracha->fk_participante; } $idsParticipantes = implode(", ", $idsParticipantes); $participante = new Participante(); $participantes = $participante->listarPorIdFormulario($formulario, 'id NOT IN (' . $idsParticipantes . ') AND confirmou = 1'); break; } foreach ($participantes as $participante) { $objetoParticipante = json_decode($participante->respostas); $arrayParticipante = get_object_vars($objetoParticipante); $arrayParticipante = array_values($arrayParticipante); echo '<input type="checkbox" name="participantes[]" value="' . $participante->id . '" />' . $arrayParticipante[3] . '<' . $arrayParticipante[7] . '><br />'; } } else { echo 'Ocorreu algum erro na solicitação'; } }