예제 #1
0
 public function proxima_pagina($param, $inicio)
 {
     try {
         if ($param != 'enviados' && $param != 'recebidos') {
             redirect(site_url('usuario/amigos'));
         } else {
             try {
                 $conviteCadastradoDao = WeLearn_DAO_DAOFactory::create('ConviteCadastradoDAO');
                 $filtros = array('usuarioObj' => $this->autenticacao->getUsuarioAutenticado(), 'count' => self::$_count + 1, 'tipoConvite' => $param);
                 $listaConvites = $conviteCadastradoDao->recuperarTodos($inicio, '', $filtros);
             } catch (cassandra_NotFoundException $e) {
                 $listaConvites = array();
             }
             $this->load->helper('paginacao_cassandra');
             $dadosPaginados = create_paginacao_cassandra($listaConvites, self::$_count);
             $listaConvites = array_reverse($listaConvites);
             $response = array('success' => true, 'paginacao' => $dadosPaginados, 'htmlListaConvites' => $partialListaConvites = $this->template->loadPartial('lista', array('listaConvites' => $listaConvites, 'paginacao' => $dadosPaginados, 'inicioProxPagina' => $dadosPaginados['inicio_proxima_pagina'], 'haConvites' => !empty($listaConvites), 'haMaisPaginas' => $dadosPaginados['proxima_pagina'], 'tipo' => $param), 'usuario/convite'));
             $json = Zend_Json::encode($response);
         }
     } catch (UUIDException $e) {
         log_message('error', 'Ocorreu um erro ao tentar recupera uma nova página de convites: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro inesperado, já estamos verificando.
             Tente novamente mais tarde.');
         $json = create_json_feedback(false, $error);
     }
     echo $json;
 }
예제 #2
0
    public function proxima_pagina($idAmigo, $inicio)
    {
        if (!$this->input->is_ajax_request()) {
            show_404();
        }
        try {
            $usuario = $this->autenticacao->getUsuarioAutenticado();
            $amigo = WeLearn_DAO_DAOFactory::create('UsuarioDAO')->recuperar($idAmigo);
            $mensagemDao = WeLearn_DAO_DAOFactory::create('MensagemPessoalDAO');
            $filtros = array('count' => self::$_count + 1, 'usuario' => $usuario, 'amigo' => $amigo);
            try {
                $listaMensagens = $mensagemDao->recuperarTodos($inicio, '', $filtros);
            } catch (cassandra_NotFoundException $e) {
                $listaMensagens = array();
            }
            $this->load->helper('paginacao_cassandra');
            $dadosPaginados = create_paginacao_cassandra($listaMensagens, self::$_count);
            $dadosPaginados = array_reverse($dadosPaginados);
            $response = array('success' => true, 'htmlListaMensagens' => $this->template->loadPartial('lista', array('idAmigo' => $idAmigo, 'haMensagens' => !empty($dadosPaginados), 'mensagens' => $listaMensagens, 'inicioProxPagina' => $dadosPaginados['inicio_proxima_pagina']), 'usuario/mensagem'), 'paginacao' => $dadosPaginados);
            $json = Zend_Json::encode($response);
        } catch (UUIDException $e) {
            log_message('error', 'Ocorreu um erro ao tentar recupera uma nova página de mensagens: ' . create_exception_description($e));
            $error = create_json_feedback_error_json('Ocorreu um erro inesperado, já estamos verificando.
Tente novamente mais tarde.');
            $json = create_json_feedback(false, $error);
        }
        echo $json;
    }
예제 #3
0
파일: home.php 프로젝트: 00victor00/WeLearn
    public function proxima_pagina($inicio)
    {
        if (!$this->input->is_ajax_request()) {
            show_404();
        }
        try {
            $usuarioAutenticado = $this->autenticacao->getUsuarioAutenticado();
            $feeds_usuario = $this->carregar_feeds($inicio, '', $this->_count);
            $this->load->helper('paginacao_cassandra');
            $dadosPaginados = create_paginacao_cassandra($feeds_usuario, $this->_count);
            $qtdFeeds = count($feeds_usuario);
            $comentarios_feed = array();
            $this->load->helper('comentarios_feed');
            for ($i = 0; $i < $qtdFeeds; $i++) {
                $comentarios_feed[$i] = carregar_comentarios('', '', 2, $feeds_usuario[$i]->getId());
            }
            $response = array('success' => true, 'htmlListaFeeds' => $this->template->loadPartial('lista', array('qtdFeeds' => $qtdFeeds, 'feeds_usuario' => $feeds_usuario, 'comentarios_feed' => $comentarios_feed, 'usuarioAutenticado' => $usuarioAutenticado, 'paginacao' => $dadosPaginados), 'usuario/feed'), 'paginacao' => $dadosPaginados);
            $json = Zend_Json::encode($response);
        } catch (UUIDException $e) {
            log_message('error', 'Ocorreu um erro ao tentar recupera uma nova página de feeds ' . create_exception_description($e));
            $error = create_json_feedback_error_json('Ocorreu um erro inesperado, já estamos verificando.
Tente novamente mais tarde.');
            $json = create_json_feedback(false, $error);
        }
        echo $json;
    }
예제 #4
0
 public function proxima_pagina($idCurso, $inicio)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     try {
         set_json_header();
         $count = 10;
         $curso = $this->_cursoDao->recuperar($idCurso);
         $filtro = $this->input->get('f');
         try {
             $listaEnquetes = $this->_recuperarEnquetes($curso, $filtro, $inicio);
         } catch (cassandra_NotFoundException $e) {
             $listaEnquetes = array();
         }
         $this->load->helper('paginacao_cassandra');
         $paginacao = create_paginacao_cassandra($listaEnquetes, $count);
         $response = array('success' => true, 'htmlListaEnquetes' => $this->template->loadPartial('lista', array('listaEnquetes' => $listaEnquetes), 'curso/enquete/enquete'), 'paginacao' => $paginacao);
         $json = Zend_Json::encode($response);
     } catch (Exception $e) {
         log_message('error', 'Ocorreu um erro ao tentar recupera uma nova página de enquetes: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro inesperado, já estamos verificando. Tente novamente mais tarde.');
         $json = create_json_feedback(false, $error);
     }
     echo $json;
 }
예제 #5
0
 public function recuperar_proxima_pagina($idCurso, $idProximo)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     set_json_header();
     try {
         $count = 30;
         $resenhaDao = WeLearn_DAO_DAOFactory::create('ResenhaDAO');
         $curso = $this->_cursoDao->recuperar($idCurso);
         try {
             $listaReviews = $resenhaDao->recuperarTodosPorCurso($curso, $idProximo, '', $count + 1);
             $qtdReviews = count($listaReviews);
             $qtdReviews = $qtdReviews > $count ? $qtdReviews - 1 : $qtdReviews;
         } catch (cassandra_NotFoundException $e) {
             $listaReviews = array();
             $qtdReviews = 0;
         }
         $this->load->helper('paginacao_cassandra');
         $paginacao = create_paginacao_cassandra($listaReviews, $count);
         $response = Zend_Json::encode(array('htmlListaReviews' => $this->template->loadPartial('lista', array('listaResenhas' => $listaReviews), 'curso/review'), 'qtdReviews' => $qtdReviews, 'paginacao' => $paginacao));
         $json = create_json_feedback(true, '', $response);
     } catch (Exception $e) {
         log_message('error', 'Ocorreu um erro ao tentar recuperar próxima página de reviews de um curso: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro inesperado, já estamos tentando resolver.
             Tente novamente mais tarde!');
         $json = create_json_feedback(false, $error);
     }
     echo $json;
 }
/**
 * Created by JetBrains PhpStorm.
 * User: root
 * Date: 05/06/12
 * Time: 10:05
 * To change this template use File | Settings | File Templates.
 */
function carregar_comentarios($de = '', $ate = '', $count, $idFeed)
{
    try {
        $filtros = array('idFeed' => $idFeed, 'count' => $count);
        $comentarioFeedDao = WeLearn_DAO_DAOFactory::create('ComentarioFeedDAO');
        $comentarios = $comentarioFeedDao->recuperarTodos($de, $ate, $filtros);
        $dadosPaginados = create_paginacao_cassandra($comentarios, 2);
        $dadosPaginados = array_reverse($dadosPaginados);
        $partialListaComentarios = get_instance()->template->loadPartial('lista_comentarios', array('comentarios' => $comentarios), 'usuario/feed/comentario');
        $dadosView = array('paginacao' => $dadosPaginados, 'haMaisPaginas' => $dadosPaginados['proxima_pagina'], 'HTMLcomentarios' => $partialListaComentarios);
        return $dadosView;
    } catch (cassandra_NotFoundException $e) {
        return $dadosView = array();
    }
}
예제 #7
0
 public function proxima_pagina($idUsuario, $inicio)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     $usuario = WeLearn_DAO_DAOFactory::create('UsuarioDAO')->recuperar($idUsuario);
     $amigosDao = WeLearn_DAO_DAOFactory::create('AmizadeUsuarioDAO');
     $filtros = array('count' => self::$_count + 1, 'usuario' => $usuario, 'opcao' => 'amigos');
     try {
         $listaAmigos = $amigosDao->recuperarTodos($inicio, '', $filtros);
         $this->load->helper('paginacao_cassandra');
         $dadosPaginados = create_paginacao_cassandra($listaAmigos, self::$_count);
         $response = array('success' => true, 'htmlListaAmigos' => $this->template->loadPartial('lista', array('haAmigos' => $dadosPaginados['proxima_pagina'], 'listaAmigos' => $listaAmigos, 'inicioProxPagina' => $dadosPaginados['inicio_proxima_pagina']), 'usuario/amigos'), 'paginacao' => $dadosPaginados);
     } catch (cassandra_NotFoundException $e) {
         $response = array('success' => false);
     }
     $json = Zend_Json::encode($response);
     echo $json;
 }
예제 #8
0
파일: area.php 프로젝트: 00victor00/WeLearn
 public function proxima_pagina($areaId, $inicio)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     set_json_header();
     try {
         $count = 15;
         $area = $this->_areaDao->recuperar($areaId);
         $areaDao = WeLearn_DAO_DAOFactory::create('AreaDAO');
         $listaAreas = $areaDao->recuperarTodos($de = null, $ate = null, $count + 1);
         $this->load->helper('paginacao_cassandra');
         $dados_paginacao = create_paginacao_cassandra($listaCategorias, $count);
         $dadosLista = array('listaAreas' => $listaAreas);
         $response = array('success' => true, 'htmlListaAreas' => $this->template->loadPartial('lista', $dadosLista, 'administracao/area'), 'paginacao' => $dados_paginacao);
         $json = Zend_Json::encode($response);
     } catch (Exception $e) {
         log_message('error', 'Ocorreu um erro ao recuperar outra página de Áreas: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro inesperado. Já estamos verificando, tente novamente mais tarde.');
         $json = create_json_feedback(false, $error);
     }
     echo $json;
 }
예제 #9
0
 public function proxima_pagina($inicio)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     set_json_header();
     try {
         $count = 20;
         try {
             $listaNotificacoes = $this->_notificacaoDao->recuperarTodosPorUsuario($this->_usuarioAtual, $inicio, '', $count + 1);
         } catch (cassandra_NotFoundException $e) {
             $listaNotificacoes = array();
         }
         $this->load->helper('paginacao_cassandra');
         $paginacao = create_paginacao_cassandra($listaNotificacoes, $count);
         $response = Zend_Json::encode(array('htmlListaNotificacoes' => $this->template->loadPartial('lista', array('listaNotificacoes' => $listaNotificacoes), 'notificacao'), 'paginacao' => $paginacao));
         $json = create_json_feedback(true, '', $response);
     } catch (Exception $e) {
         log_message('error', 'Erro ao tentat listar próxima página de notificações de usuário: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro desconhecido, já estamos verificando. Tente novamente mais tarde.');
         $json = create_json_feedback(false, $error);
     }
     echo $json;
 }
예제 #10
0
파일: post.php 프로젝트: 00victor00/WeLearn
 public function proxima_pagina($idForum, $idProximo)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     set_json_header();
     try {
         $count = 20;
         $forumDao = WeLearn_DAO_DAOFactory::create('ForumDAO');
         $forum = $forumDao->recuperar($idForum);
         $postDao = WeLearn_DAO_DAOFactory::create('PostForumDAO');
         $listaPosts = $postDao->recuperarTodosPorForum($forum, $idProximo, '', $count + 1);
         $this->load->helper('paginacao_cassandra');
         $dados_paginacao = create_paginacao_cassandra($listaPosts, $count);
         $listaPosts = array_reverse($listaPosts);
         $htmlListaPosts = $this->template->loadPartial('lista', array('listaPosts' => $listaPosts), 'curso/forum/post');
         $json = create_json_feedback(true, '', Zend_Json::encode(array('htmlListaPosts' => $htmlListaPosts, 'dadosPaginacao' => $dados_paginacao)));
     } catch (Exception $e) {
         log_message('error', 'Erro ao recuperar página mais antiga de posts: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro inesperado! Já estamos tentando resolver, tente novamente amis tarde.');
         $json = create_json_feedback('false', $error);
     }
     echo $json;
 }
예제 #11
0
 public function recuperar_lista($paginaId)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     set_json_header();
     try {
         $count = 50;
         $paginaDao = WeLearn_DAO_DAOFactory::create('PaginaDAO');
         $pagina = $paginaDao->recuperar($paginaId);
         $comentarioDao = WeLearn_DAO_DAOFactory::create('ComentarioDAO');
         if (!($de = $this->input->get('inicioProxPagina'))) {
             $de = '';
         }
         try {
             $listaComentarios = $comentarioDao->recuperarTodosPorPagina($pagina, $de, '', $count + 1);
         } catch (cassandra_NotFoundException $e) {
             $listaComentarios = array();
         }
         $totalComentarios = $comentarioDao->recuperarQtdTotalPorPagina($pagina);
         $this->load->helper('paginacao_cassandra');
         $dadosPaginacao = create_paginacao_cassandra($listaComentarios, $count);
         $qtdComentarios = count($listaComentarios);
         //Para possibilitar a visualização de baixo para cima.
         $listaComentarios = array_reverse($listaComentarios);
         $response = Zend_Json::encode(array('htmlListaComentarios' => $qtdComentarios ? $this->template->loadPartial('lista', array('listaComentarios' => $listaComentarios), 'curso/conteudo/comentario') : '', 'paginacao' => $dadosPaginacao, 'qtdComentarios' => $qtdComentarios, 'totalComentarios' => $totalComentarios, 'nomePagina' => $pagina->getNome(), 'nomeAula' => $pagina->getAula()->getNome()));
         $json = create_json_feedback(true, '', $response);
     } catch (Exception $e) {
         log_message('error', 'Ocorreu um erro ao tentar recuperar lista de
                                 comentários via ajax: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro inesperado,
                     já estamos tentando resolver. Tente novamente mais tarde!');
         $json = create_json_feedback(false, $error);
     }
     echo $json;
 }
예제 #12
0
 public function proxima_pagina_categorias($cursoId, $inicio)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     set_json_header();
     try {
         $count = ColumnFamily::DEFAULT_COLUMN_COUNT;
         $curso = $this->_cursoDao->recuperar($cursoId);
         $categoriaDao = WeLearn_DAO_DAOFactory::create('CategoriaForumDAO');
         $listaCategorias = $categoriaDao->recuperarTodosPorCurso($curso, $inicio, '', $count + 1);
         foreach ($listaCategorias as $categoria) {
             $categoria->recuperarQtdForuns();
         }
         $this->load->helper('paginacao_cassandra');
         $dados_paginacao = create_paginacao_cassandra($listaCategorias, $count);
         $dadosLista = array('listaCategorias' => $listaCategorias);
         $response = array('success' => true, 'htmlListaCategorias' => $this->template->loadPartial('lista_categorias', $dadosLista, 'curso/forum/forum'), 'paginacao' => $dados_paginacao);
         $json = Zend_Json::encode($response);
     } catch (Exception $e) {
         log_message('error', 'Ocorreu um erro ao recuperar outra página de categorias de fóruns: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro inesperado. Já estamos verificando, tente novamente mais tarde.');
         $json = create_json_feedback(false, $error);
     }
     echo $json;
 }
예제 #13
0
 public function mais_requisicoes($idCurso)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     set_json_header();
     try {
         $count = 20;
         $idProximo = $this->input->get('proximo');
         $curso = $this->_cursoDao->recuperar($idCurso);
         try {
             $listaRequisicoes = $this->_alunoDao->recuperarTodasInscricoesPorCurso($curso, $idProximo, '', $count + 1);
         } catch (cassandra_NotFoundException $e) {
             $listaRequisicoes = array();
         }
         $this->load->helper('paginacao_cassandra');
         $paginacao = create_paginacao_cassandra($listaRequisicoes, $count);
         $response = Zend_Json::encode(array('htmlListaRequisicoes' => $this->template->loadPartial('lista_requisicoes', array('listaRequisicoes' => $listaRequisicoes, 'idCurso' => $curso->getId()), 'curso/aluno'), 'qtdRequisicoes' => count($listaRequisicoes), 'paginacao' => $paginacao));
         $json = create_json_feedback(true, '', $response);
     } catch (cassandra_NotFoundException $e) {
         log_message('error', 'Erro ao tentar recuparar proxima página da lista de requisições de inscricao: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro inesperado, já estamos tentando resolver.
             Tente novamente mais tarde!');
         $json = create_json_feedback(false, $error);
     }
     echo $json;
 }
예제 #14
0
 public function recuperar_recursos_aluno($tipoRecurso, $idParent, $idInicio = '')
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     set_json_header();
     try {
         $count = 5;
         $recursoDao = WeLearn_DAO_DAOFactory::create('RecursoDAO');
         try {
             if ((int) $tipoRecurso == WeLearn_Cursos_Recursos_TipoRecurso::RESTRITO) {
                 $aulaDao = WeLearn_DAO_DAOFactory::create('AulaDAO');
                 $aula = $aulaDao->recuperar($idParent);
                 $listaRecursos = $recursoDao->recuperarTodosRestritos($aula, $idInicio, '', $count + 1);
                 $totalRecursos = $recursoDao->recuperarQtdTotalRestritos($aula);
             } else {
                 $curso = $this->_cursoDao->recuperar($idParent);
                 $listaRecursos = $recursoDao->recuperarTodosGerais($curso, $idInicio, '', $count + 1);
                 $totalRecursos = $recursoDao->recuperarQtdTotalGerais($curso);
             }
         } catch (cassandra_NotFoundException $e) {
             $listaRecursos = array();
             $totalRecursos = 0;
         }
         $this->load->helper('paginacao_cassandra');
         $dadosPaginacao = create_paginacao_cassandra($listaRecursos, $count);
         $response = Zend_Json::encode(array('htmlListaRecursos' => $this->template->loadPartial('lista_aluno', array('listaRecursos' => $listaRecursos), 'curso/conteudo/recurso'), 'qtdRecuperados' => count($listaRecursos), 'totalRecursos' => $totalRecursos, 'nomeAula' => isset($aula) ? $aula->getNome() : '', 'paginacao' => $dadosPaginacao));
         $json = create_json_feedback(true, '', $response);
     } catch (Exception $e) {
         log_message('error', 'Ocorreu um erro ao tentar recuperar lista de recursos para sala de aula: ' . create_exception_description($e));
         $error = create_json_feedback_error_json('Ocorreu um erro inesperado, já estamos tentando resolver.
             Tente novamente mais tarde!');
         $json = create_json_feedback(false, $error);
     }
     echo $json;
 }
예제 #15
0
 public function proxima_pagina($inicio)
 {
     if (!$this->input->is_ajax_request()) {
         show_404();
     }
     set_json_header();
     try {
         $count = 10;
         $filtro = $this->input->get('f');
         $listaSugestoes = $this->_recuperar_lista($filtro, $inicio, '', $count);
         if ($filtro == 'pop') {
             $this->load->helper('paginacao_mysql');
             $paginacao = create_paginacao_mysql($listaSugestoes, $inicio, $count);
         } else {
             $this->load->helper('paginacao_cassandra');
             $paginacao = create_paginacao_cassandra($listaSugestoes, $count);
         }
         $arrResultado = array('success' => true, 'sugestoesHtml' => $this->template->loadPartial('lista', array('sugestoes' => $listaSugestoes), 'curso/sugestao'), 'paginacao' => $paginacao);
         echo Zend_Json::encode($arrResultado);
     } catch (Exception $e) {
         log_message('error', 'Erro ao retornar outra página de sugestões de curso: ' . create_exception_description($e));
         $erro = create_json_feedback_error_json('Algo deu errado ao retornar a' . ' próxima página, tente novamente mais tarde.');
         echo create_json_feedback(false, $erro);
     }
 }
예제 #16
0
 public function listar_amigos($idUsuario = '')
 {
     if ($idUsuario == '') {
         show_404();
     }
     try {
         $usuarioPerfil = $this->_usuarioDao->recuperar($idUsuario);
     } catch (cassandra_NotFoundException $e) {
         show_404();
     }
     $amigosDao = WeLearn_DAO_DAOFactory::create('AmizadeUsuarioDAO');
     $filtros = array('count' => $this->_count + 1, 'opcao' => 'amigos', 'usuario' => $usuarioPerfil);
     try {
         $totalAmigos = $amigosDao->recuperarQtdTotalAmigos($usuarioPerfil);
         $listaAmigos = $amigosDao->recuperarTodos('', '', $filtros);
         $this->load->helper('paginacao_cassandra');
         $dadosPaginados = create_paginacao_cassandra($listaAmigos, $this->_count);
         $partialListaAmigos = $this->template->loadPartial('lista', array('listaAmigos' => $listaAmigos, 'inicioProxPagina' => $dadosPaginados['inicio_proxima_pagina'], 'haAmigos' => $dadosPaginados['proxima_pagina'], 'idUsuario' => $usuarioPerfil->getId()), 'usuario/amigos');
         $dadosView = array('success' => true, 'partialListaAmigos' => $partialListaAmigos, 'totalAmigos' => $totalAmigos, 'idUsuario' => $usuarioPerfil->getId());
     } catch (cassandra_NotFoundException $e) {
         $dadosView = array('success' => false, 'totalAmigos' => 0, 'idUsuario' => $usuarioPerfil->getId());
     }
     $dadosView['usuarioPerfil'] = $usuarioPerfil;
     $dadosView['usuarioAutenticado'] = $this->autenticacao->getUsuarioAutenticado();
     $this->_renderTemplatePerfil('usuario/amigos/index', $dadosView);
 }