Ejemplo n.º 1
0
 public function remover($idAmigo)
 {
     try {
         $usuarioDao = WeLearn_DAO_DAOFactory::create('UsuarioDAO');
         $amizadeDao = WeLearn_DAO_DAOFactory::create('AmizadeUsuarioDAO');
         $usuarioAutenticado = $this->autenticacao->getUsuarioAutenticado();
         $amigo = $usuarioDao->recuperar($idAmigo);
         $idAmizade = $amizadeDao->gerarIdAmizade($usuarioAutenticado, $amigo);
         $amizadeRemovida = $amizadeDao->remover($idAmizade);
         print_r($amizadeRemovida->toArray());
         $this->load->helper('notificacao_js');
         $resposta = array('success' => true);
         $notificacoesFlash = create_notificacao_json('sucesso', 'Amizade Removida com Sucesso!');
         $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
     } catch (cassandra_NotFoundException $e) {
         $resposta = array('success' => false);
         $notificacoesFlash = create_notificacao_json('erro', 'Falha Ao Remover Amizade!');
         $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
     }
     echo $resposta;
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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;
     }
 }
Ejemplo n.º 4
0
 public function salvar_configuracao()
 {
     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 {
             $usuarioAtual = $this->autenticacao->getUsuarioAutenticado();
             $dados_post = $this->input->post();
             $usuarioAtual->getConfiguracao()->preencherPropriedades($dados_post);
             $usuarioAtual->salvarConfiguracao();
             $this->autenticacao->setUsuarioAutenticado($usuarioAtual);
             $this->load->helper('notificacao_js');
             $this->session->set_flashdata('notificacoesFlash', create_notificacao_json('sucesso', 'Seus dados profissionais foram salvos com sucesso!'));
             $json = create_json_feedback(true);
         } catch (Exception $e) {
             log_message('error', 'Erro ao tentar salvar configurações de usuário. ' . 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;
 }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
 private function _alterar($post)
 {
     $avaliacaoDao = WeLearn_DAO_DAOFactory::create('AvaliacaoDAO');
     $avaliacao = $avaliacaoDao->recuperar($post['avaliacaoId']);
     $avaliacao->preencherPropriedades($post);
     $avaliacaoDao->salvar($avaliacao);
     $notificacoesFlash = create_notificacao_json('sucesso', 'A avaliação <em>"' . $avaliacao->getNome() . '"</em> foi salva com sucesso!');
     $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
     $response = Zend_Json::encode(array('idAvaliacao' => $avaliacao->getId()));
     return create_json_feedback(true, '', $response);
 }
Ejemplo n.º 7
0
 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;
 }
Ejemplo n.º 8
0
 public function _criar($post)
 {
     $aulaDao = WeLearn_DAO_DAOFactory::create('AulaDAO');
     $aula = $aulaDao->recuperar($post['aulaId']);
     $paginaDao = WeLearn_DAO_DAOFactory::create('PaginaDAO');
     $novaPagina = $paginaDao->criarNovo($post);
     $novaPagina->setAula($aula);
     $paginaDao->salvar($novaPagina);
     $dadosLista = array('listaPaginas' => array($novaPagina));
     $foiPrimeiroAdicionado = $paginaDao->recuperarQtdTotalPorAula($aula) == 1;
     $response = Zend_Json::encode(array('primeiroAdicionado' => $foiPrimeiroAdicionado, 'htmlNovaPagina' => $this->template->loadPartial('lista', $dadosLista, 'curso/conteudo/pagina'), 'notificacao' => create_notificacao_array('sucesso', 'A página <em>"' . $novaPagina->getNome() . '"</em> foi adicionada com sucesso à aula <em>"' . $aula->getNome() . '"</em>!')));
     if ($foiPrimeiroAdicionado) {
         $this->session->set_flashdata('notificacoesFlash', create_notificacao_json('sucesso', 'A página <em>"' . $novaPagina->getNome() . '"</em> foi adicionada com sucesso à aula <em>"' . $aula->getNome() . '"</em>!'));
     }
     return create_json_feedback(true, '', $response);
 }
Ejemplo n.º 9
0
 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 sua avaliação sobre este curso foi enviada com sucesso!
                         <br> Obrigado pela participação!');
                     break;
                 case 'alterar':
                     $json = $this->_alterar($this->input->post());
                     $notificacoesFlash = create_notificacao_json('sucesso', 'Os dados da avaliação foram alterados com sucesso!');
                     break;
                 default:
                     throw new WeLearn_Base_Exception('Ação inválida ao salvar!');
             }
             $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
         } catch (Exception $e) {
             log_message('error', 'Ocorreu um erro ao tentar salvar review 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;
 }
Ejemplo n.º 10
0
 public function aceitar($idConvite, $idRemetente, $idDestinatario, $view)
 {
     $this->load->helper('notificacao_js');
     $conviteCadastradoDao = WeLearn_DAO_DAOFactory::create('ConviteCadastradoDAO');
     $amizadeDao = WeLearn_DAO_DAOFactory::create('AmizadeUsuarioDAO');
     try {
         $conviteRemovido = $conviteCadastradoDao->remover($idConvite);
         $idAmizade = $amizadeDao->gerarIdAmizade($conviteRemovido->getDestinatario(), $conviteRemovido->getRemetente());
         $amizadeObj = $amizadeDao->recuperar($idAmizade);
         $amizadeObj->setStatus(WeLearn_Usuarios_StatusAmizade::AMIGOS);
         $amizadeDao->salvar($amizadeObj);
         if ($view == 'perfil') {
             $result = array('success' => true);
             $notificacoesFlash = create_notificacao_json('sucesso', 'Convite Aceito!');
         }
         if ($view == 'lista') {
             $result = array('success' => true, 'notificacao' => create_notificacao_array('sucesso', 'Convite Aceito!'));
         }
         //enviar notificação ao usuário;
         $notificacao = new WeLearn_Notificacoes_NotificacaoRequisicaoAmizadeAceita();
         $notificacao->setConvite($conviteRemovido);
         $notificacao->setDestinatario($conviteRemovido->getRemetente());
         $notificacao->adicionarNotificador(new WeLearn_Notificacoes_NotificadorCassandra());
         $notificacao->adicionarNotificador(new WeLearn_Notificacoes_NotificadorTempoReal());
         $notificacao->notificar();
         //fim da notificação;
     } catch (cassandra_NotFoundException $e) {
         $usuarioDao = WeLearn_DAO_DAOFactory::create('UsuarioDAO');
         $Remetente = $usuarioDao->recuperar($idRemetente);
         $Destinatario = $usuarioDao->recuperar($idDestinatario);
         $UsuarioAutenticado = $this->autenticacao->getUsuarioAutenticado();
         $amizadeObj = $amizadeDao->criarNovo();
         $amizadeObj->setUsuario($Destinatario);
         $amizadeObj->setAmigo($Remetente);
         $saoAmigos = $amizadeDao->saoAmigos($amizadeObj->getUsuario(), $amizadeObj->getAmigo());
         if ($view == 'perfil') {
             $usuario = $UsuarioAutenticado == $Destinatario ? $Remetente : $Destinatario;
             if ($saoAmigos == WeLearn_Usuarios_StatusAmizade::AMIGOS) {
                 $result = array('success' => false, 'amigos' => true);
                 $notificacoesFlash = create_notificacao_json('erro', 'O Convite Já foi Aceito ' . $usuario->getNome());
             } else {
                 $result = array('success' => false, 'amigos' => false);
                 $notificacoesFlash = create_notificacao_json('erro', 'O Convite Foi Removido Por ' . $usuario->getNome());
             }
         }
         if ($view == 'lista') {
             $usuario = $UsuarioAutenticado == $Destinatario ? $Remetente : $Destinatario;
             if ($saoAmigos == WeLearn_Usuarios_StatusAmizade::AMIGOS) {
                 $result = array('success' => false, 'notificacao' => create_notificacao_array('erro', 'O Convite Já foi Aceito Por ' . $usuario->getNome()));
             } else {
                 $result = array('success' => false, 'notificacao' => create_notificacao_array('erro', 'O Convite Foi Removido por ' . $usuario->getNome()));
             }
         }
     }
     if ($view == 'perfil') {
         $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
     }
     echo Zend_Json::encode($result);
 }
Ejemplo n.º 11
0
 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');
             switch ($this->input->post('acao')) {
                 case 'criar':
                     $json = $this->_adicionar($this->input->post());
                     $notificacoesFlash = create_notificacao_json('sucesso', 'O recurso <em>"' . $this->input->post('nome') . '"</em> foi criado com sucesso!
                             O arquivo já está disponível para os alunos.');
                     break;
                 case 'alterar':
                     $json = $this->_alterar($this->input->post());
                     $notificacoesFlash = create_notificacao_json('sucesso', 'O recurso <em>"' . $this->input->post('nome') . '"</em> foi salvo com sucesso!');
                     break;
                 default:
                     throw new WeLearn_Base_Exception("Ação inválida ao salvar recurso");
             }
             $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
         } catch (Exception $e) {
             log_message('error', 'Erro ao tentar salvar recurso: ' . 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;
 }
Ejemplo n.º 12
0
 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;
 }
Ejemplo n.º 13
0
 public function criar_timeline($idPerfil)
 {
     $this->load->helper('notificacao_js');
     $usuarioPerfil = WeLearn_DAO_DAOFactory::create('UsuarioDAO')->recuperar($idPerfil);
     $usuarioAutenticado = $this->autenticacao->getUsuarioAutenticado();
     if ($usuarioAutenticado->getId() == $usuarioPerfil->getId() || $usuarioAutenticado->getId() != $usuarioPerfil->getId() && $usuarioPerfil->getConfiguracao()->getPrivacidadeCompartilhamento() == WeLearn_Usuarios_PrivacidadeCompartilhamento::HABILITADO) {
         set_json_header();
         $isValid = false;
         $tipo = $this->input->post('tipo-feed');
         $this->load->library('form_validation');
         $this->form_validation->set_rules('conteudo-feed', 'conteudo-feed', 'required');
         if ($tipo != WeLearn_Compartilhamento_TipoFeed::STATUS) {
             $this->form_validation->set_rules('descricao-feed', 'descricao-feed', 'callback_validar_descricao');
         }
         if ($this->form_validation->run() === false) {
             $json = create_json_feedback(false, validation_errors_json());
             exit($json);
         } else {
             switch ($tipo) {
                 case WeLearn_Compartilhamento_TipoFeed::VIDEO:
                     $isValid = $this->validar_video();
                     if (!$isValid) {
                         $notificacoesFlash = create_notificacao_json('erro', 'A url do video enviado não é valida, verifique se a url está correta.');
                         $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
                         log_message('error', 'A url do video enviado nao é valida');
                         $json = create_json_feedback(false);
                     }
                     break;
                 case WeLearn_Compartilhamento_TipoFeed::IMAGEM:
                     $isValid = $this->validar_imagem();
                     if (!$isValid) {
                         $notificacoesFlash = create_notificacao_json('erro', 'A url da imagem enviada não é valida, verifique se a url está correta.');
                         $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
                         log_message('error', 'A url da imagem enviada nao é valida');
                         $json = create_json_feedback(false);
                     }
                     break;
                 case WeLearn_Compartilhamento_TipoFeed::LINK:
                     $isValid = $this->validar_url();
                     if (!$isValid) {
                         $notificacoesFlash = create_notificacao_json('erro', 'A url da imagem enviada não é valida, verifique se a url está correta.');
                         $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
                         log_message('error', 'A url enviada nao é valida');
                         $json = create_json_feedback(false);
                     }
                     break;
                 case WeLearn_Compartilhamento_TipoFeed::STATUS:
                     $isValid = true;
                     if (!$isValid) {
                         $notificacoesFlash = create_notificacao_json('erro', 'A url da imagem enviada não é valida, verifique se a url está correta.');
                         $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
                         log_message('error', 'O status enviado nao é valida');
                         $json = create_json_feedback(false);
                     }
                     break;
             }
             if ($isValid) {
                 $feedDao = WeLearn_DAO_DAOFactory::create('FeedDAO');
                 $feed = $feedDao->criarNovo();
                 $criador = $this->autenticacao->getUsuarioAutenticado();
                 $conteudo = $this->input->post('conteudo-feed');
                 if ($tipo != WeLearn_Compartilhamento_TipoFeed::STATUS) {
                     $descricao = $this->input->post('descricao-feed');
                     $feed->setDescricao($descricao);
                 }
                 $feed->setConteudo($conteudo);
                 $feed->setTipo($tipo);
                 $feed->setCriador($criador);
                 $feed->setDataEnvio(time());
                 try {
                     $feedDao->salvarTimeLine($feed, $usuarioPerfil);
                     $notificacoesFlash = create_notificacao_json('sucesso', 'Feed enviado com sucesso!');
                     $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
                     $json = create_json_feedback(true);
                     //Notificar ao usuário
                     $notificacao = new WeLearn_Notificacoes_NotificacaoCompartilhamentoPerfil();
                     $notificacao->setCompartilhamento($feed);
                     $notificacao->setDestinatario($usuarioPerfil);
                     $notificacao->adicionarNotificador(new WeLearn_Notificacoes_NotificadorCassandra());
                     $notificacao->adicionarNotificador(new WeLearn_Notificacoes_NotificadorTempoReal());
                     $notificacao->notificar();
                     //fim da notificação.
                 } catch (cassandra_NotFoundException $e) {
                     $json = create_json_feedback(false);
                 }
             }
         }
     } else {
         $notificacoesFlash = create_notificacao_json('erro', 'As configurações de privacidade não permitem que o compartilhamento seja enviado!');
         $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
         $json = create_json_feedback(false);
     }
     echo $json;
 }
Ejemplo n.º 14
0
 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;
 }
Ejemplo n.º 15
0
 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');
             switch ($this->input->post('acao')) {
                 case 'criar':
                     $json = $this->_criarEnquete($this->input->post());
                     $notificacoesFlash = create_notificacao_json('sucesso', 'A nova enquete foi criada com sucesso, na verdade você
                          já está nela!<br/>Caso pense em alguma alteração faça-a
                          o mais rápido possível!');
                     break;
                 case 'alterar':
                     $json = $this->_alterarEnquete($this->input->post());
                     $notificacoesFlash = create_notificacao_json('sucesso', 'As alterações na enquete foram salvas com sucesso!');
                     break;
                 default:
                     throw new WeLearn_Base_Exception('Opção de salvamento inválida!');
             }
             $this->session->set_flashdata('notificacoesFlash', $notificacoesFlash);
         } catch (Exception $e) {
             log_message('error', 'Erro ao tentar salvar enquete: ' . 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;
 }
Ejemplo n.º 16
0
 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;
     }
 }
Ejemplo n.º 17
0
 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;
 }
Ejemplo n.º 18
0
 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;
 }