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; }
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; }
public function recuperar_lista($area = '') { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); if ($area) { try { $segmentoDao = WeLearn_DAO_DAOFactory::create('SegmentoDAO'); $opcoes = array('areaId' => $area); $listaSegmentos = $segmentoDao->recuperarTodos('', '', $opcoes); $dropdownSegmentos = array(); foreach ($listaSegmentos as $segmento) { $dropdownSegmentos[] = $segmento->toCassandra(); } $segmentosJSON = Zend_Json::encode($dropdownSegmentos); echo '{"success":true, "segmentos":' . $segmentosJSON . '}'; } catch (cassandra_NotFoundException $e) { $error_msg = 'Esta área ainda não possui segmentos,' . ' sinta-se a vontade para adicionar um segmento você mesmo!'; $error = create_json_feedback_error_json($error_msg, 'area'); echo create_json_feedback(false, $error); } catch (Exception $e) { log_message('error', 'Erro ao recuperar lista de segmentos: ' . create_exception_description($e)); $error = create_json_feedback_error_json('Ops! ocorreu um erro. Tente novamente em breve.'); echo create_json_feedback(false, $error); } } }
public function recuperar_lista_estados($pais = '') { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); if ($pais) { try { $paisEstadoDao = WeLearn_DAO_DAOFactory::create('PaisEstadoDAO', null, false); $estadosJSON = $paisEstadoDao->recuperarEstadosDeUmPaisJSON($pais); echo '{"success": true, "estados":' . $estadosJSON . '}'; } catch (cassandra_NotFoundException $e) { $error = create_json_feedback_error_json('O país selecionado não tem estados cadastrados.', 'estado'); echo create_json_feedback(false, $error); } catch (Exception $e) { log_message('error', 'Não foi possível retornar a lista de estados: ' . create_exception_description($e)); $error = create_json_feedback_error_json('Ops, ocorreu um erro desconhecido. Tente novamente mais tarde.'); echo create_json_feedback(false, $error); } } }
public function finalizar() { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $usuarioAtual = $this->autenticacao->getUsuarioAutenticado(); $usuarioDao = WeLearn_DAO_DAOFactory::create('UsuarioDAO'); $usuarioDao->registrarPassouPeloQuickstart($usuarioAtual); $this->load->helper('notificacao_js'); $this->session->set_flashdata('notificacoesFlash', create_notificacao_json('sucesso', 'Quickstart finalizado com sucesso!<br> Caso queira alterar desses dados, é só ir em "Configurações" no menu à esquerda.')); $json = create_json_feedback(true); } catch (Exception $e) { log_message('error', 'Erro ao tentar finalizar quickstart. ' . create_exception_description($e)); $errors = create_json_feedback_error_json('Ops! Ocorreu um erro no servidor, desculpe pelo incidente.<br/>' . 'Já estamos verificando, tente novamente em breve.'); $json = create_json_feedback(false, $errors); } echo $json; }
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; }
public function salvar() { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $this->load->helper('notificacao_js'); $this->load->library('form_validation'); if (!$this->form_validation->run()) { $json = create_json_feedback(false, validation_errors_json()); } else { switch ($this->input->post('acao')) { case 'criar': $json = $this->_criar($this->input->post()); break; case 'alterar': $json = $this->_alterar($this->input->post()); break; default: throw new WeLearn_Base_Exception('Ação ao salvar inválida!'); } } } catch (Exception $e) { log_message('error', 'Ocorreu um erro ao tentar salvar comentário: ' . 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; }
public function salvar() { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); $this->load->library('form_validation'); if (!$this->form_validation->run()) { $json = create_json_feedback(false, validation_errors_json()); } else { try { $this->load->helper('notificacao_js'); if ($this->input->post('acao') == 'criar') { $json = $this->_salvarNovoForum($this->input->post()); $notificacoesFlash = create_notificacao_json('sucesso', 'O novo fórum foi criado com sucesso, na verdade você já está nele!<br/> Aguarde enquanto essa discussão se desenvolve.', 10000); } elseif ($this->input->post('acao') == 'alterar') { $json = $this->_salvarAlteracoesForum($this->input->post()); $notificacoesFlash = create_notificacao_json('sucesso', 'Fórum alterado com sucesso!', 10000); } else { throw new WeLearn_Base_Exception('Ação de salvar fórum inválida!'); } $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); } catch (Exception $e) { log_message('error', 'Ocorreu um erro ao tentar salvar o fórum: ' . create_exception_description($e)); $erro = create_json_feedback_error_json('Ocorreu um erro desconhecido ao salvar o fórum. Tente novamente mais tarde.'); $json = create_json_feedback(false, $erro); } } echo $json; }
public function salvar_qtd_questoes_exibir($idAvaliacao) { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $avaliacaoDao = WeLearn_DAO_DAOFactory::create('AvaliacaoDAO'); $avaliacao = $avaliacaoDao->recuperar($idAvaliacao); $questaoDao = WeLearn_DAO_DAOFactory::create('QuestaoAvaliacaoDAO'); $qtdQuestoes = $questaoDao->recuperarQtdTotalPorAvaliacao($avaliacao); $qtdQuestoesExibir = (int) $this->input->get('qtd'); if ($qtdQuestoesExibir > $qtdQuestoes) { $qtdQuestoesExibir = $qtdQuestoes; } $avaliacao->setQtdQuestoesExibir($qtdQuestoesExibir); $avaliacaoDao->salvar($avaliacao); $this->load->helper('notificacao_js'); $response = Zend_Json::encode(array('notificacao' => create_notificacao_array('sucesso', 'A quantidade de questões à serem aplicadas para avaliação <em>"' . $avaliacao->getNome() . '"</em> foi alterada com sucesso!'), 'qtdQuestoesExibir' => $qtdQuestoesExibir)); $json = create_json_feedback(true, '', $response); } catch (Exception $e) { log_message('error', 'Erro ao tentar salvar nova qtd de questões aplicadas de uma avaliacao: ' . 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; }
public function alterar_situacao($idEnquete) { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $enqueteDao = WeLearn_DAO_DAOFactory::create('EnqueteDAO'); $enquete = $enqueteDao->recuperar($idEnquete); $enquete->alterarSituacao(); $enqueteDao->salvar($enquete); $strSituacao = $enquete->getSituacao() == WeLearn_Cursos_Enquetes_SituacaoEnquete::ABERTA ? 'reaberta' : 'fechada'; $this->load->helper('notificacao_js'); $notificacao_array = create_notificacao_array('sucesso', 'A enquete <strong>' . $enquete->getQuestao() . '</strong> foi ' . $strSituacao . ' com sucesso!', 10000); $notificacao = Zend_Json::encode(array('notificacao' => $notificacao_array)); $json = create_json_feedback(true, '', $notificacao); if ($this->input->get('exibindoEnquete')) { $this->session->set_flashdata('notificacoesFlash', Zend_Json::encode($notificacao_array)); } } catch (Exception $e) { log_message('error', 'Erro ao tentar alterar situação da enquete de 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; }
public function remover($idPost) { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $postDao = WeLearn_DAO_DAOFactory::create('PostForumDAO'); $postDao->remover($idPost); $this->load->helper('notificacao_js'); $extraJson = Zend_Json::encode(array('notificacao' => create_notificacao_array('sucesso', 'O seu post foi removido com sucesso!', 10000))); $json = create_json_feedback(true, '', $extraJson); } catch (Exception $e) { log_message('error', 'Erro ao tentar remover um post: ' . create_exception_description($e)); $erro = create_json_feedback_error_json('Ocorreu um erro inesperado! Já estamos verificando, tente novamente mais tarde.'); $json = create_json_feedback(false, $erro); } echo $json; }
public function salvar() { set_json_header(); $this->load->library('form_validation'); if (!$this->form_validation->run()) { $json = create_json_feedback(false, validation_errors_json()); echo $json; } else { try { $descricaoArea = $this->input->post('descricao'); $this->load->helper('notificacao_js'); $novaArea = $this->_areaDAO->criarNovo(); $novaArea->setDescricao($descricaoArea); $this->_areaDAO->salvar($novaArea); $notificacoesFlash = create_notificacao_json('sucesso', 'A nova Área foi criada com sucesso.', 10000); $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); $json = create_json_feedback(true, '', '"idArea":"' . $novaArea->getDescricao() . '"'); } catch (Exception $e) { log_message('error', 'Erro a criar a Área: ' . 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; } }
public function mais_resultados($inicio) { try { $texto = $this->input->get('busca'); $listaResultados = null; $buscaAtual = $texto; $usuarioDao = WeLearn_DAO_DAOFactory::create('UsuarioDAO'); $filtros = array('busca' => $buscaAtual, 'count' => self::$_count + 1); $listaResultados = $usuarioDao->recuperarTodos($inicio, null, $filtros); $this->load->helper('paginacao_mysql'); $paginacao = create_paginacao_mysql($listaResultados, $inicio, self::$_count); $response = Zend_Json::encode(array('htmlResultadosBusca' => $this->template->loadPartial('lista_busca', array('listaResultados' => $listaResultados), 'usuario/amigos'), 'paginacao' => $paginacao)); $json = create_json_feedback(true, '', $response); } catch (Exception $e) { log_message('error', 'Ocorreu um erro ao tentar recuperar proxima página de resultados da busca: ' . 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; }
private function _salvarConfiguracoes() { if (!$this->form_validation->run('curso/salvar_config')) { $json = create_json_feedback(false, validation_errors_json()); } else { try { $dadosConfig = $this->input->post(); $curso = $this->_cursoDao->recuperar($dadosConfig['id']); if ($curso->getSegmento()->getId() != $dadosConfig['segmento']) { $segmentoDao = WeLearn_DAO_DAOFactory::create('SegmentoDAO'); $dadosConfig['segmento'] = $segmentoDao->recuperar($dadosConfig['segmento']); } else { unset($dadosConfig['segmento']); } if (isset($dadosConfig['imagem']) && is_array($dadosConfig['imagem'])) { if ($curso->getImagem()) { unlink($curso->getImagem()->getDiretorioCompleto()); } $dadosConfig['imagem'] = $this->_salvarImagem($dadosConfig['imagem']); if ($dadosConfig['imagem'] != null) { $dadosConfig['imagem']->setCursoId($curso->getId()); } } //Rotina para verificar se conteudo está sendo aberto $novoStatus = (int) $dadosConfig['status']; $avisos = array(); if ($curso->getStatus() != $novoStatus && $novoStatus === WeLearn_Cursos_StatusCurso::CONTEUDO_ABERTO) { $totalPaginas = WeLearn_DAO_DAOFactory::create('PaginaDAO')->recuperarQtdTotalPorCurso($curso); $totalAvaliacoes = WeLearn_DAO_DAOFactory::create('AvaliacaoDAO')->recuperarQtdTotalAtivas($curso); try { $haCertificadoAtivo = WeLearn_DAO_DAOFactory::create('CertificadoDAO')->recuperarAtivoPorCurso($curso); } catch (cassandra_NotFoundException $e) { $haCertificadoAtivo = false; } if ($totalPaginas < 1 || $totalAvaliacoes < 1 || !$haCertificadoAtivo) { //Verifica se há conteúdo mínimo para abrir unset($dadosConfig['status']); if ($totalAvaliacoes == 0) { $avisos[] = 'Seu curso não possui nenhuma avaliação ativa. Não é' . ' possível abrir o conteúdo do curso até que seja criada' . ' e ativada, pelo menos uma avaliação.'; } if ($totalPaginas == 0) { $avisos[] = 'Seu curso não possui conteúdo para passar para os alunos.' . ' Não é possível abrir o conteúdo do curso até que seja criada' . ' pelo menos uma página de conteúdo.'; } if (!$haCertificadoAtivo) { $avisos[] = 'Seu curso não possui um certificado ativo.' . ' Não é possível abrir o conteúdo do curso até que exista' . ' um certificado ativo vinculado a este curso.'; } } } //fim da rotina $curso->getConfiguracao()->preencherPropriedades($dadosConfig); $curso->preencherPropriedades($dadosConfig); $this->_cursoDao->salvar($curso); $qtdAvisos = count($avisos); if ($qtdAvisos == 0) { //Se não houve erros $notificacoesFlash = create_notificacao_json('sucesso', 'As alterações nas configurações do curso foram salvas com sucesso!', 5000); } else { //Se ouve, mostrá-los $msg = '<div><p>As alterações nas configurações do curso foram' . ' salvas, mas houve alguns problemas:</p><ul>'; for ($i = 0; $i < $qtdAvisos; $i++) { $msg .= '<li>' . $avisos[$i] . '</li>'; } $msg .= '</ul></div>'; $notificacoesFlash = create_notificacao_json('aviso', $msg, 20000); } $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); $json = create_json_feedback(true); } catch (Exception $e) { log_message('error', 'Ocorreu um erro ao tentar salvar as configurações do curso' . 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); } } return $json; }
public function listar_certificados($idUsuarioPerfil) { if ($idUsuarioPerfil == '') { show_404(); } try { $usuarioPerfil = $this->_usuarioDao->recuperar($idUsuarioPerfil); } catch (cassandra_NotFoundException $e) { show_404(); } $usuarioAutenticado = $this->autenticacao->getUsuarioAutenticado(); if ($usuarioPerfil->getId() != $usuarioAutenticado->getId()) { $saoAmigos = $this->_amizadeUsuarioDao->SaoAmigos($usuarioPerfil, $usuarioAutenticado); if ($usuarioPerfil->configuracao->privacidadePerfil == WeLearn_Usuarios_PrivacidadePerfil::PRIVADO && ($saoAmigos == WeLearn_Usuarios_StatusAmizade::NAO_AMIGOS || $saoAmigos == WeLearn_Usuarios_StatusAmizade::REQUISICAO_EM_ESPERA) || $usuarioPerfil->getId() == $usuarioAutenticado->getId()) { show_404(); } } try { $this->template->appendJSImport('certificado_aluno.js'); $usuarioAutenticado = $this->autenticacao->getUsuarioAutenticado(); $certificadoDao = WeLearn_DAO_DAOFactory::create('CertificadoDAO'); $usuarioDao = WeLearn_DAO_DAOFactory::create('UsuarioDAO'); $usuarioPerfil = $usuarioDao->recuperar($idUsuarioPerfil); $aluno = $usuarioDao->criarAluno($usuarioPerfil); try { $listaCertificados = $certificadoDao->recuperarTodosPorAluno($aluno, '', '', 1000000); } catch (cassandra_NotFoundException $e) { $listaCertificados = array(); } $dadosView = array('haCertificados' => !empty($listaCertificados), 'totalCertificados' => count($listaCertificados), 'usuarioPerfil' => $usuarioPerfil, 'usuarioAutenticado' => $usuarioAutenticado, 'listaCertificados' => $listaCertificados); $this->_renderTemplatePerfil('usuario/cursos/perfil_certificados', $dadosView); } catch (Exception $e) { log_message('error', 'Erro ao exibir lista de certificados do usuário: ' . create_exception_description($e)); show_404(); } }
public function enviar() { $this->load->library('form_validation'); if ($this->form_validation->run() === FALSE) { $json = create_json_feedback(false, validation_errors_json()); exit($json); } else { try { $conviteCadastradoDao = WeLearn_DAO_DAOFactory::create('ConviteCadastradoDAO'); $amizadeUsuarioDao = WeLearn_DAO_DAOFactory::create('AmizadeUsuarioDAO'); $usuarioDao = WeLearn_DAO_DAOFactory::create('UsuarioDAO'); $mensagem = $this->input->post('txt-convite'); $remetente = $this->autenticacao->getUsuarioAutenticado(); $destinatario = $usuarioDao->recuperar($this->input->post('destinatario')); $saoAmigos = $amizadeUsuarioDao->saoAmigos($remetente, $destinatario); if ($saoAmigos == WeLearn_Usuarios_StatusAmizade::NAO_AMIGOS) { $conviteCadastrado = $conviteCadastradoDao->criarNovo(); $conviteCadastrado->setMsgConvite($mensagem); $conviteCadastrado->setRemetente($remetente); $conviteCadastrado->setDestinatario($destinatario); $conviteCadastrado->setStatus(WeLearn_Convites_StatusConvite::EM_ESPERA_NOVO); $conviteCadastrado->setDataEnvio(time()); $conviteCadastradoDao->salvar($conviteCadastrado); $amizadeUsuarioObj = $amizadeUsuarioDao->criarNovo(); $amizadeUsuarioObj->setUsuario($remetente); $amizadeUsuarioObj->setAmigo($destinatario); $amizadeUsuarioObj->setStatus(WeLearn_Usuarios_StatusAmizade::REQUISICAO_EM_ESPERA); $amizadeUsuarioDao->salvar($amizadeUsuarioObj); $json = Zend_Json::encode(array('success' => true)); $this->load->helper('notificacao_js'); $notificacoesFlash = create_notificacao_json('sucesso', 'Convite enviado com sucesso!'); $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); //enviar notificação ao usuário; $notificacao = new WeLearn_Notificacoes_NotificacaoRequisicaoAmizade(); $notificacao->setConvite($conviteCadastrado); $notificacao->setDestinatario($destinatario); $notificacao->adicionarNotificador(new WeLearn_Notificacoes_NotificadorCassandra()); $notificacao->adicionarNotificador(new WeLearn_Notificacoes_NotificadorTempoReal()); $notificacao->notificar(); //fim da notificação; } else { if ($saoAmigos == WeLearn_Usuarios_StatusAmizade::REQUISICAO_EM_ESPERA) { $this->load->helper('notificacao_js'); $json = Zend_Json::encode(array('success' => true, 'amigos' => true)); $notificacoesFlash = create_notificacao_json('aviso', 'Voce Recebeu um Convite de ' . $destinatario->getNome() . '!'); $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); } } } catch (Exception $e) { log_message('error', 'Ocorreu um erro ao tentar enviar o convite ' . 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; } }
public function salvar() { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); $this->load->library('form_validation'); if ($this->form_validation->run() === FALSE) { $errors = validation_errors_json(); $json = create_json_feedback(false, $errors); } else { try { $dadosForm = $this->input->post(); $area = new WeLearn_Cursos_Area($dadosForm['area']); $segmento = new WeLearn_Cursos_Segmento($dadosForm['segmento'], '', $area); $dadosForm['segmento'] = $segmento; $sugestaoCursoDao = WeLearn_DAO_DAOFactory::create('SugestaoCursoDAO'); $novaSugestao = $sugestaoCursoDao->criarNovo($dadosForm); $novaSugestao->setCriador($this->autenticacao->getUsuarioAutenticado()); $sugestaoCursoDao->salvar($novaSugestao); $this->load->helper('notificacao_js'); $notificacoesFlash = create_notificacao_json('sucesso', 'A sugestão de curso foi enviada com sucesso! Obrigado pela participação!', 5000); $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); $json = create_json_feedback(true); } catch (Exception $e) { log_message('error', 'Erro ao salvar sugestão de curso: ' . create_exception_description($e)); $error = create_json_feedback_error_json('Não foi possível criar a sugestão de curso, tente novamente mais tarde.'); $json = create_json_feedback(false, $error); } } echo $json; }
public function remover_upload($idRecurso) { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $this->load->helper('file'); try { $recursoDao = WeLearn_DAO_DAOFactory::create('RecursoDAO'); $recurso = $recursoDao->recuperar($idRecurso); $dir = $recurso->getCaminho(); } catch (cassandra_NotFoundException $e) { $dir = $this->_tempRecursoDir . $idRecurso; } if (is_dir($dir)) { delete_files($dir, true); rmdir($dir); } $json = create_json_feedback(true); } catch (Exception $e) { log_message('error', 'Ocorreu um erro ao remover upload temporario: ' . create_exception_description($e)); $json = create_json_feedback(false); } echo $json; }
public function salvar_anotacao($idPagina) { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $pagina = $this->_paginaDao->recuperar($idPagina); $anotacao = $this->_anotacaoDao->criarNovo(array('conteudo' => $this->input->post('anotacao'), 'usuario' => $this->_alunoAtual, 'pagina' => $pagina)); $this->_anotacaoDao->salvar($anotacao); $json = create_json_feedback(true); } catch (Exception $e) { log_message('error', 'Ocorreu um erro ao tentar salvar anotação de página: ' . 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; }
public function salvar() { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); $this->load->library('form_validation'); if (!$this->form_validation->run()) { $json = create_json_feedback(false, validation_errors_json()); } else { $this->load->helper('notificacao_js'); try { switch ($this->input->post('acao')) { case 'criar': $json = $this->_adicionar($this->input->post()); $notificacoesFlash = create_notificacao_json('sucesso', 'A aula foi criada com sucesso! Verifique abaixo os dados inseridos na lista de aulas deste módulo.'); break; case 'alterar': $notificacoesFlash = create_notificacao_json('sucesso', 'As alterações da aula foram salvas com sucesso!'); $json = $this->_alterar($this->input->post()); break; default: throw new WeLearn_Base_Exception('Ação inválida ao salvar aula.'); } $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); } catch (Exception $e) { log_message('error', 'Erro ao tentar salvar aula de módulo: ' . 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; }
public function salvar() { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); $this->load->library('form_validation'); if (!$this->form_validation->run()) { $json = create_json_feedback(false, validation_errors_json()); } else { try { $dadosCategoria = $this->input->post(); $categoriaDao = WeLearn_DAO_DAOFactory::create('CategoriaForumDAO'); $this->load->helper('notificacao_js'); if (isset($dadosCategoria['acao']) && $dadosCategoria['acao'] == 'criar') { $dadosCategoria['curso'] = $this->_cursoDao->recuperar($dadosCategoria['cursoId']); $dadosCategoria['criador'] = $this->autenticacao->getUsuarioAutenticado(); $novaCategoria = $categoriaDao->criarNovo($dadosCategoria); $categoriaDao->salvar($novaCategoria); $notificacoesFlash = create_notificacao_json('sucesso', 'A nova categoria de fóruns foi criada com sucesso. <br/> Comece a adicionar fóruns à esta categoria!', 10000); $json = create_json_feedback(true, '', '"idCurso":"' . $novaCategoria->getCurso()->getid() . '"'); } elseif (isset($dadosCategoria['acao']) && $dadosCategoria['acao'] == 'alterar') { $categoria = $categoriaDao->recuperar($dadosCategoria['categoriaId']); $categoria->preencherPropriedades($dadosCategoria); $categoriaDao->salvar($categoria); $notificacoesFlash = create_notificacao_json('sucesso', 'A categoria <strong>' . $categoria->getNome() . '</strong> foi alterada com sucesso!', 10000); $json = create_json_feedback(true, '', '"idCurso":"' . $categoria->getCurso()->getId() . '"'); } else { throw new WeLearn_Base_Exception('Ação de salvar categoria de fórum inválida!'); } $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); } catch (Exception $e) { log_message('error', 'Erro a criar categoria de fórum: ' . 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; }
public function remover($idPagina) { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $paginaDao = WeLearn_DAO_DAOFactory::create('PaginaDAO'); $pagina = $paginaDao->recuperar($idPagina); if ($pagina->getAula()->getModulo()->getCurso()->getStatus() === WeLearn_Cursos_StatusCurso::CONTEUDO_ABERTO) { throw new WeLearn_Cursos_ConteudoAbertoException(); } $paginaRemovida = $paginaDao->remover($idPagina); $this->_salvarAlteracoesOrdem($this->input->get(), $paginaRemovida->getAula()); $this->load->helper('notificacao_js'); $response = Zend_Json::encode(array('notificacao' => create_notificacao_array('sucesso', 'A página <em>"' . $paginaRemovida->getNome() . '"</em> foi removida com sucesso!'))); $json = create_json_feedback(true, '', $response); } catch (WeLearn_Cursos_ConteudoAbertoException $e) { $this->load->helper('notificacao_js'); $notificacoesFlash = create_notificacao_json('erro', $e->getMessage()); $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); $json = create_json_feedback(false); } catch (Exception $e) { log_message('error', 'Erro ao tentar remover página: ' . create_exception_description($e)); $this->load->helper('notificacao_js'); $notificacoesFlash = create_notificacao_json('erro', 'Ocorreu um erro inesperado, já estamos tentando resolver. Tente novamente mais tarde!'); $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); $json = create_json_feedback(false); } echo $json; }
public function login() { if (!$this->input->is_ajax_request()) { show_404(); } //O retorno será em JSON. set_json_header(); $this->load->library('form_validation'); if ($this->form_validation->run() === FALSE) { $json = create_json_feedback(false, validation_errors_json()); exit($json); } try { $login = $this->input->post('login'); $senha = $this->input->post('password'); $this->autenticacao->autenticar($login, $senha); $json = create_json_feedback(true); } catch (WeLearn_Usuarios_AutenticacaoLoginInvalidoException $e) { $error = create_json_feedback_error_json($e->getMessage(), 'login'); $json = create_json_feedback(false, $error); } catch (WeLearn_Usuarios_AutenticacaoSenhaInvalidaException $e) { $error = create_json_feedback_error_json($e->getMessage(), 'password'); $json = create_json_feedback(false, $error); } catch (Exception $e) { log_message('error', 'Erro ao logar usuário. ' . create_exception_description($e)); $error = create_json_feedback_error_json('Ops, ocorreu um erro. Não foi possível efetuar o login no momento. <br />' . 'Já estamos verificando. Tente novamente em breve.'); $json = create_json_feedback(false, $error); } //Retorna o resultado! echo $json; }
public function cancelar_requisicao($idCurso) { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $curso = $this->_cursoDao->recuperar($idCurso); $usuario = $this->autenticacao->getUsuarioAutenticado(); $this->_alunoDao->recusarRequisicaoInscricao($usuario, $curso); $this->load->helper('notificacao_js'); $response = Zend_Json::encode(array('notificacao' => create_notificacao_array('sucesso', 'Sua inscrição no curso "' . $curso->getNome() . '" foi cancelada com sucesso. :('))); $json = create_json_feedback(true, '', $response); } catch (cassandra_NotFoundException $e) { log_message('error', 'Erro ao tentar cancelar requisição 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; }
public function exibir_resultados($idAvaliacao) { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $avaliacao = $this->_avaliacaoDao->recuperar($idAvaliacao); $participacaoCurso = $this->_participacaoCursoDao->recuperarPorCurso($this->_alunoAtual, $avaliacao->getModulo()->getCurso()); $controleAvaliacao = $this->_controleAvaliacaoDao->recuperarPorParticipacao($participacaoCurso, $avaliacao); $questoesAvaliacao = array(); foreach ($controleAvaliacao->getRespostas() as $resposta) { $questao = $this->_questaoAvaliacaoDao->recuperar($resposta->getQuestaoId()); if ($resposta->isCorreta()) { $arrayQuestao = array('questao' => $questao, 'respostas' => array($resposta)); } else { $arrayQuestao = array('questao' => $questao, 'respostas' => array($questao->getAlternativaCorreta(), $resposta)); } $questoesAvaliacao[] = $arrayQuestao; } $response = Zend_Json::encode(array('htmlResultado' => $this->template->loadPartial('avaliacao_resultados', array('controleAvaliacao' => $controleAvaliacao, 'questoesRealizadas' => $questoesAvaliacao, 'questoesEmBranco' => $controleAvaliacao->getAvaliacao()->getQtdQuestoesExibir() - count($questoesAvaliacao)), 'curso/conteudo/aplicacao_avaliacao'))); $json = create_json_feedback(true, '', $response); } catch (Exception $e) { log_message('error', 'Ocorreu um erro ao tentar exibir resultados de avaliação: ' . 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; }
public function privacidade() { try { $usuario = $this->autenticacao->getUsuarioAutenticado(); $dadosViewPrivacidade = array('formAction' => '/usuario/salvar_configuracao', 'extraOpenForm' => 'id="form-privacidade"', 'privacidadePerfilAtual' => $usuario->getConfiguracao()->getPrivacidadePerfil(), 'privacidadeMPAtual' => $usuario->getConfiguracao()->getPrivacidadeMP(), 'privacidadeConvitesAtual' => $usuario->getConfiguracao()->getPrivacidadeConvites(), 'privacidadeCompartilhamentoAtual' => $usuario->getConfiguracao()->getPrivacidadeCompartilhamento(), 'privacidadeNotificacoesAtual' => $usuario->getConfiguracao()->getPrivacidadeNotificacoes()); $dadosView = array('formPrivacidade' => $this->template->loadPartial('form_configuracao', $dadosViewPrivacidade, 'usuario')); $this->_renderTemplateHome('usuario/configuracao/privacidade', $dadosView); } catch (Exception $e) { log_message('error', 'Erro ao tentar configuração de privacidade usuário:' . create_exception_description($e)); show_404(); } }
public function salvar() { set_json_header(); $this->load->helper('notificacao_js'); $this->load->library('form_validation'); if (!$this->form_validation->run()) { $json = create_json_feedback(false, validation_errors_json()); echo $json; } else { try { $areaDao = WeLearn_DAO_DAOFactory::create('AreaDAO'); $segmentoDao = WeLearn_DAO_DAOFactory::create('SegmentoDAO'); $dadosNovoSegmento = array('area' => $areaDao->recuperar($this->input->post('areaId')), 'descricao' => $this->input->post('descricao')); $novoSegmento = $segmentoDao->criarNovo($dadosNovoSegmento); $segmentoDao->salvar($novoSegmento); $notificacoesFlash = create_notificacao_json('sucesso', 'O novo Segmento foi criada com sucesso.', 10000); $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); $json = create_json_feedback(true, '', '"idSegmento":"' . $novoSegmento->getDescricao() . '"'); } catch (Exception $e) { log_message('error', 'Erro a criar a Área: ' . 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; } }
public function enviar_convites($idCurso) { if (!$this->input->is_ajax_request()) { show_404(); } set_json_header(); try { $curso = $this->_cursoDao->recuperar($idCurso); $idUsuarios = explode(',', $this->input->get('usuarios')); $errors = array(); $convidados = array(); foreach ($idUsuarios as $idUsuario) { try { $usuario = $this->_gerenciadorDao->recuperar($idUsuario); $vinculo = $this->_cursoDao->recuperarTipoDeVinculo($usuario, $curso); switch ($vinculo) { case WeLearn_Usuarios_Autorizacao_NivelAcesso::ALUNO_INSCRICAO_PENDENTE: $errors[] = anchor('/perfil/' . $usuario->getId(), $usuario->getNome()) . ': Há uma requisição de inscrição no curso pendente vindo deste usuário.'; break; case WeLearn_Usuarios_Autorizacao_NivelAcesso::GERENCIADOR_CONVITE_PENDENTE: $errors[] = anchor('/perfil/' . $usuario->getId(), $usuario->getNome()) . ': Este usuário já foi convidado para o gerenciamento deste curso.'; break; case WeLearn_Usuarios_Autorizacao_NivelAcesso::GERENCIADOR_AUXILIAR: case WeLearn_Usuarios_Autorizacao_NivelAcesso::GERENCIADOR_PRINCIPAL: $errors[] = anchor('/perfil/' . $usuario->getId(), $usuario->getNome()) . ': Este usuário já está vinculado ao gerenciamento deste curso.'; break; case WeLearn_Usuarios_Autorizacao_NivelAcesso::ALUNO: $errors[] = anchor('/perfil/' . $usuario->getId(), $usuario->getNome()) . ': Este usuário terá que deixar de ser aluno para ser convidado ao gerenciamento.'; break; case WeLearn_Usuarios_Autorizacao_NivelAcesso::USUARIO: default: $this->_gerenciadorDao->convidar($usuario, $curso); $convidados[] = $usuario; } } catch (Exception $e) { $errors[] = 'Não foi possível enviar convite ao usuário "' . $idUsuario . '". Tente novamente mais tarde.'; } } $this->load->helper('notificacao_js'); if (count($errors) > 0) { $errorsHtml = ''; foreach ($errors as $error) { $errorsHtml .= "<li>{$error}</li>"; } $notificacoesFlash = create_notificacao_json('erro', "<div><span>Alguns convites não foram enviados devido à erros, mais informações abaixo:</span><ul>{$errorsHtml}</ul></div>", 0); } else { $notificacoesFlash = create_notificacao_json('sucesso', 'Todos os convites foram enviados aos destinatários com sucesso!'); } $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash); $json = create_json_feedback(true); //Enviar notificação ao convidado; $notificadorBatch = new WeLearn_Notificacoes_NotificadorCassandraBatch(); $notificadorTempoReal = new WeLearn_Notificacoes_NotificadorTempoReal(); foreach ($convidados as $convidado) { $notificacao = new WeLearn_Notificacoes_NotificacaoConviteGerenciamentoCurso(); $notificacao->setCurso($curso); $notificacao->setDestinatario($convidado); $notificacao->adicionarNotificador($notificadorBatch); $notificacao->adicionarNotificador($notificadorTempoReal); $notificacao->notificar(); } //Fim da notificação; } catch (cassandra_NotFoundException $e) { log_message('error', 'Erro ao tentar buscar usuários para convidar para gerenciamento: ' . 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; }