Exemplo n.º 1
0
 public function listar_mensagens($limiteInicial = 0, $qtdPorPagina = 20)
 {
     $msg = null;
     $data = $this->getParametroVisao();
     $data['usuario'] = unserialize($_SESSION['usuario']);
     if ($data['mobile']) {
         $data['page'] = "responsive/" . __FUNCTION__;
         $data['tema'] = $this->load->setTheme('responsive');
         $data['excluir'] = $data['permissao']['excluir'];
         //Editando o template da tabela
         $tmpl['table_open'] = '<table class="table table-striped table-bordered table-hover table-responsive" id="dataTables-example">';
         $tmpl['heading_row_start'] = '<tr>';
         $tmpl['heading_row_end'] = '</tr>';
         $tmpl['heading_cell_start'] = '<th>';
         $tmpl['heading_cell_end'] = '</th>';
         $tmpl['row_start'] = '<tr class="odd gradeX">';
         $tmpl['row_end'] = '</tr>';
         $tmpl['cell_start'] = '<td>';
         $tmpl['cell_end'] = '</td>';
         $tmpl['row_alt_start'] = '<tr>';
         $tmpl['row_alt_end'] = '</tr>';
         $tmpl['cell_alt_start'] = '<td>';
         $tmpl['cell_alt_end'] = '</td>';
         $tmpl['table_close'] = '</table>';
         //Editando a div de paginação
         $config['full_tag_open'] = '<nav><ul class="pagination">';
         $config['full_tag_close'] = '</ul></nav>';
         $config['first_tag_open'] = '<li>';
         $config['first_tag_close'] = '</li>';
         $config['last_tag_open'] = '<li>';
         $config['last_tag_close'] = '</li>';
         $config['next_tag_open'] = '<li>';
         $config['next_tag_close'] = '</li>';
         $config['prev_tag_open'] = '<li>';
         $config['prev_tag_close'] = '</li>';
         $config['cur_tag_open'] = '<li class="disabled"><a href="#">';
         $config['cur_tag_close'] = '<span class="sr-only">(current)</span></a></li>';
         $config['num_tag_open'] = '<li>';
         $config['num_tag_close'] = '</li>';
     } else {
         $data['page'] = 'home';
         $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     }
     //Definindo se deve ou não exibir o filtro de tipos
     $exibeFiltroTipos = filter_input(INPUT_GET, "tipos", FILTER_VALIDATE_BOOLEAN);
     $data["exibeFiltroTipos"] = is_null($exibeFiltroTipos) ? TRUE : $exibeFiltroTipos;
     $data['msg'] = $msg;
     $data['abaAtiva'] = 10;
     $data['abaPage'] = 'listar_mensagens';
     $data['alias'] = 'listar_mensagens';
     $pk_unidade = isset($_GET['pk_unidade']) && $_GET['pk_unidade'] != '' ? $_GET['pk_unidade'] : 0;
     $pk_serie = isset($_GET['pk_serie']) && $_GET['pk_serie'] != '' ? $_GET['pk_serie'] : 0;
     $sqlMensagem = new SqlMensagem();
     $result = $sqlMensagem->listar_mensagens($limiteInicial, $qtdPorPagina, $data['idTurmaAluno']);
     $querystring = $_SERVER['QUERY_STRING'] != '' ? '?' . $_SERVER['QUERY_STRING'] : '';
     $data['registros'] = array();
     if ($result['total'] > 0) {
         $data['registros'] = $result['registros'];
         $this->load->library('table');
         $arrHead[] = 'Data';
         $arrHead[] = 'Remetente';
         //Caso seja definido para não exibir os filtros de tipo
         if ($data["exibeFiltroTipos"]) {
             $arrHead[] = 'Tipo';
         }
         //
         $arrHead[] = 'Mensagem';
         if ($data['mobile']) {
             //--Adicinonando as colunas da tabela
             $arrHead[] = 'Ações';
         }
         if ($data['permissao']['excluir'] == 1) {
             $arrHead[] = '';
         }
         $this->table->set_heading($arrHead);
         $count = 0;
         foreach ($result['registros'] as $row) {
             //Caso seja definido para não exibir o filtro de tipo
             $data["tituloTipo"] = $row['area_transf_tipo_nome'];
             $count++;
             if (!$data['mobile']) {
                 $tmpl = Util::zebrar($count, count($result['registros']));
             }
             if (strlen(strip_tags($row['texto'])) > 120) {
             } else {
                 $resumo = strip_tags($row['texto']);
             }
             $texto = strlen(strip_tags($row['texto'])) > 120 ? substr(strip_tags($row['texto']), 0, 120) . '...' : $row['texto'];
             $textoTratado = strpos($texto, '[if') == false ? $texto : '';
             // Criar links para downloads
             $linkArquivo = '';
             $pasta_nome = '';
             $dir = 'uploadArquivos/' . $row['pasta'];
             $divide = explode('/', $row['pasta']);
             $pasta_nome = $divide[0] != '' ? $divide[1] : '';
             if (file_exists($dir)) {
                 $d = opendir($dir);
                 $i = 0;
                 $nome = readdir($d);
                 while ($nome != false) {
                     if (!is_dir($nome) and $nome != 'Thumbs.db' and $nome != 'thumbnail') {
                         $arquivos[$i] = $nome;
                         $i++;
                     }
                     $nome = readdir($d);
                 }
                 sort($arquivos);
                 if (count($arquivos) > 0) {
                     $linkArquivo .= '<ul class="square">';
                     foreach ($arquivos as $arq) {
                         // $link = base_url().'uploadArquivos/transf/download.php?pasta='.$pasta_nome.'&id='.$arq;
                         $link = base_url() . 'uploadArquivos/transf/' . $pasta_nome . '/' . $arq;
                         $linkArquivo .= '<li><a class="link" href="' . $link . '" target="_blank">' . $arq . '</a></li>';
                     }
                     $linkArquivo .= '</ul>';
                 }
             }
             $comentarios = $row['total_comments'] > 0 ? ' (' . $row['total_comments'] . ')' : '';
             $altura_janela_comentarios = $row['total_comments'] == 0 ? '280' : '400';
             if ($data['mobile']) {
                 //Conteúdo referente a versão responsiva do site
                 $resumo = '<a title="' . $row['titulo'] . '" href=\'javascript:mensagem("' . addslashes($row['titulo']) . '","' . str_replace(array("'", '"'), array('\\"', '\\"'), $row['texto'] . $linkArquivo) . '",' . $row['pk_area_transferencia'] . ');\'>' . substr($row['titulo'], 0, 100) . '</a>';
             } else {
                 $resumo = '<div class="mb0" id="DivResumida_' . $row['pk_area_transferencia'] . '">
                         <h5>' . $row['titulo'] . '</h5>
                         <a class="mostraDivOculta link right" data-id="' . $row['pk_area_transferencia'] . '">+ Mais</a></div>
                         <div id="' . $row['pk_area_transferencia'] . '" class="DivOculta">
                             <h5>' . $row['titulo'] . '</h5>
                             ' . $row['texto'] . $linkArquivo . '
                             <a href="' . base_url() . 'transf/mensagem/comentario/' . $row['pk_area_transferencia'] . '" ' . View::getParamExibirItem($row['pk_area_transferencia'], $row['titulo'], '550', $altura_janela_comentarios) . ' class="exibirItem"><div class="icon_comment left mt10 mr20 pl20 w100">Comentários' . $comentarios . '</div></a>
                             <a href="' . base_url() . 'transf/mensagem/detalhe/' . $row['pk_area_transferencia'] . '?print=1" target="_blank"><div class="icon_print left mt10 mr20 pl20 w50">Imprimir</div></a>
                             <a class="esconderDiv link right mt10 ml10" data-id="' . $row['pk_area_transferencia'] . '">- Menos</a>
                         </div>';
             }
             $conteudo = array('data' => $resumo, 'class' => 'min_width_conteudo', 'valign' => 'top', 'id' => 'corpo_' . $row['pk_area_transferencia']);
             $remetente = array('data' => $row['nome'], 'valign' => 'top');
             $tipo = array('data' => $row['area_transf_tipo_nome'], 'valign' => 'top');
             $dataEnvio = array('data' => View::converteDataBrHora($row['data_inc']), 'class' => 'w70', 'valign' => 'top');
             if ($data['mobile']) {
                 $acoes['data'] = "<a target=\"_blank\" href=\"" . base_url() . "transf/mensagem/detalhe/" . $row['pk_area_transferencia'] . "?print=1\"><span class=\"glyphicon glyphicon-print\"></span> </a>";
                 $acoes['data'] .= $data['permissao']['excluir'] ? '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/excluir_mensagem" ' . View::getParamExcluirItemTabela($row['pk_area_transferencia'], $pasta_nome, 0, '', 'Excluir mensagem', 'Deseja excluir a mensagem ' . $row['titulo'] . '') . '   class="excluirItemTabela"> <span class="glyphicon glyphicon-remove"></span></a>' : "";
             } else {
                 $link_excluir = array('data' => '<a href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/excluir_mensagem" ' . View::getParamExcluirItemTabela($row['pk_area_transferencia'], $pasta_nome, 0, '', 'Excluir mensagem', 'Deseja excluir a mensagem ' . $row['titulo'] . '') . '   class="excluirItemTabela"><div class="tooltip icon_delete" data-tooltip="Exclusão"></div></a>', 'valign' => 'top');
             }
             if ($data['permissao']['excluir'] == 1 && !$data['mobile']) {
                 if ($data["exibeFiltroTipos"]) {
                     $this->table->add_row($dataEnvio, $remetente, $tipo, $conteudo, $link_excluir);
                 } else {
                     $this->table->add_row($dataEnvio, $remetente, $conteudo, $link_excluir);
                 }
             } else {
                 if ($data['mobile']) {
                     if ($data["exibeFiltroTipos"]) {
                         $this->table->add_row($dataEnvio, $remetente, $tipo, $conteudo, $acoes);
                     } else {
                         $this->table->add_row($dataEnvio, $remetente, $conteudo, $acoes);
                     }
                 } else {
                     if ($data["exibeFiltroTipos"]) {
                         $this->table->add_row($dataEnvio, $remetente, $tipo, $conteudo);
                     } else {
                         $this->table->add_row($dataEnvio, $remetente, $conteudo);
                     }
                 }
             }
         }
         $this->table->set_template($tmpl);
     } else {
         if (isset($_GET['pk_area_transf_tipo']) && $_GET['pk_area_transf_tipo'] != '') {
             $data['msg'] = '<div class="alert atencao">Não consta nenhuma mensagem na categoria selecionada.</div>';
         } else {
             $data['msg'] = '<div class="alert atencao">Nenhuma mensagem recebida até o momento</div>';
         }
         $data['total'] = $result['total'];
     }
     $this->load->library('pagination');
     $config['base_url'] = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/';
     $config['total_rows'] = $result['total'];
     $config['per_page'] = $qtdPorPagina;
     $config['anchor_class'] = $querystring;
     //$config['add_attr'] = 'class="carregarConteudo" data-content="inc"';
     $data['totalRegistros'] = View::paginacao($result['total']);
     $data['total'] = $result['total'];
     $sqlMensagem = new SqlMensagem();
     $result = $sqlMensagem->distinct_tipo_mensagens($data['idTipoUsuario'], $data['idTurmaAluno']);
     $data['tipos'] = $result['registros'];
     $tipos = explode("&pk_area_transf_tipo=", $_SERVER['QUERY_STRING']);
     $data['tipos_url'] = $config['base_url'] . '?' . $tipos[0];
     $sqlMensagem = new SqlMensagem();
     $result = $sqlMensagem->distinct_remetentes($data['idTipoUsuario'], $data['idTurmaAluno']);
     $data['remetentes'] = $result['registros'];
     $remetentes = explode("&usuario=", $_SERVER['QUERY_STRING']);
     $data['remetentes_url'] = $config['base_url'] . '?' . $remetentes[0];
     /* if (!isset($_SESSION['distinct_tipo_mensagens']))
               {
               if ($data['idTipoUsuario'] == 15)
               {
               $sqlMensagem = new SqlMensagem();
               $result = $sqlMensagem->distinct_tipo_mensagens_professores($data['idTipoUsuario'], $data['turmas'], $data['series'], $data['unidades']);
               $_SESSION['distinct_tipo_mensagens'] = $result['tipos_mensagens'];
               $_SESSION['distinct_remetentes'] = $result['remetentes'];
               }
               else
               {
               $sqlMensagem = new SqlMensagem();
               $result = $sqlMensagem->distinct_tipo_mensagens_alunos($data['idTipoUsuario'], $data['idUnidadeAluno'], $data['idSerieAluno'], $data['idTurmaAluno']);
               $_SESSION['distinct_tipo_mensagens'] = $result['tipos_mensagens'];
               $_SESSION['distinct_remetentes'] = $result['remetentes'];
               }
     
               }
               $data['tipos'] = $_SESSION['distinct_tipo_mensagens'];
               $tipos = explode("&pk_area_transf_tipo=", $_SERVER['QUERY_STRING']);
               $data['tipos_url'] = $config['base_url'].'?'. $tipos[0];
     
               $data['remetentes'] = $_SESSION['distinct_remetentes'];
               $remetentes = explode("&usuario=", $_SERVER['QUERY_STRING']);
               $data['remetentes_url'] = $config['base_url'].'?'. $remetentes[0]; */
     //        var_dump($config);
     $this->pagination->initialize($config);
     if ($this->input->is_ajax_request()) {
         echo json_encode(array('content' => $this->load->view($this->uri->segment(3), $data, true)));
     } else {
         $this->load->view($this->load->getUrlTema(), $data);
     }
 }