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] . '&lt;' . $arrayParticipante[7] . '&gt;<br />';
         }
     } else {
         echo 'Ocorreu algum erro na solicitação';
     }
 }