コード例 #1
0
 public function indexAction()
 {
     try {
         if (count($_POST) > 0) {
             if (Util::isEmpty($_POST['login']) && Util::isEmpty($_POST['senha'])) {
                 throw new Exception('Login inválido!');
             }
             $usuario = $this->dao->find($this->conexao->getConexao(), "usuarios", array("where" => array("login" => $_POST['login'], "senha" => md5($_POST['senha']))));
             if (count($usuario) == 0) {
                 throw new Exception("Login inválido!");
             }
             $_SESSION[PREFIX . "loginId"] = $usuario["id"];
             $_SESSION[PREFIX . "loginNome"] = $usuario["nome"];
             $_SESSION[PREFIX . "loginPermissao"] = $usuario["permissao"];
             //$this->logDAO->adicionar ($conexao->getConexao(), "fez", "login", $_SESSION["loginNome"], "Painel de administração");
             $this->conexao->getConexao()->disconnect();
             Application::redirect('index.php');
             exit;
         }
     } catch (Exception $e) {
         $this->conexao->getConexao()->disconnect();
         setMensagem("error", $e->getMessage());
     }
     $view = new View($_GET["modulo"], "painel", "index.phtml");
     $view->setParams(array("title" => "Login"));
     $view->showContents();
 }
コード例 #2
0
ファイル: LogsController.php プロジェクト: saulor/cpbquirophp
 function indexAction()
 {
     try {
         $conexao = $this->conexao->getConexao();
         $breadcrumbs = array();
         $breadcrumbs[] = array("Logs" => "");
         $quantidade = 0;
         $logs = array();
         $quantidadePorPagina = isset($_REQUEST["exibir"]) && $_GET["exibir"] != '' ? (int) $_GET["exibir"] : QUANTIDADE_POR_PAGINA;
         $pagina = isset($_GET['p']) ? $_GET['p'] : 1;
         $pagina = $pagina <= 0 ? 1 : $pagina;
         $limit = $pagina == 1 ? $quantidadePorPagina : $quantidadePorPagina * ($pagina - 1);
         $offset = $pagina == 1 ? 0 : $quantidadePorPagina;
         //if (!temPermissao(array('logs:visualizarLogs'), $_SESSION['permissoes']))
         //	throw new Exception("Você não tem permissão para visualizar logs");
         $quantidade = $this->logDAO->getQuantidade($conexao, "logs");
         $logs = $this->logDAO->getDados($conexao, "logs", array("limit" => $limit, "offset" => $offset, "order" => array("data" => "desc")));
         if (count($logs) == 0 && $pagina > 1) {
             Application::redirect("?modulo=" . $_GET["modulo"] . "&p=" . ($pagina - 1));
         }
     } catch (Exception $e) {
         setMensagem("error", $e->getMessage());
     }
     $conexao->disconnect();
     $view = new View("views/logs/index.phtml");
     $view->setParams(array("title" => getTitulo($breadcrumbs), "logs" => $logs, "quantidade" => $quantidade, "quantidadePorPagina" => $quantidadePorPagina, "pagina" => $pagina, "breadcrumbs" => $breadcrumbs));
     $view->showContents();
 }
コード例 #3
0
 public function alterarAction()
 {
     try {
         $conexao = $this->conexao->getConexao();
         //$redirecionar = montaRedirect($_SERVER["QUERY_STRING"], array("id", "acao"));
         $breadcrumbs = array();
         $dadosUsuario = $this->dao->findByPk($conexao, "usuarios", getVariavel("id"));
         // usuário só poderá alterar os dados dele mesmo
         if ($dadosUsuario["id"] != $_SESSION[PREFIX . "loginId"]) {
             throw new Exception("Você não tem permissão para atualizar dados de outros usuários");
         }
         $breadcrumbs[] = array($dadosUsuario["nome"] => "", "Alterar dados" => "");
         // armazena a senha atual em uma variável
         $senhaAtual = $dadosUsuario["senha"];
         $novaSenha = $dadosUsuario["senha"];
         // se submeteu dados
         if (count($_POST) > 0) {
             $redirecionar = NULL;
             $dados = $_POST;
             // todos os dados são obrigatórios
             $obrigatorios = array("nome" => array("tipo" => "input", "nome" => "Nome"), "login" => array("tipo" => "input", "nome" => "Login"), "email" => array("tipo" => "input", "nome" => "E-mail"));
             // se o usuário informar a nova senha, deverá informar a senha atual
             if (!empty($dados["novaSenha"])) {
                 $obrigatorios["senhaAtual"] = array("tipo" => "input", "nome" => "Senha atual");
             }
             // valida
             $mensagem = validaPost($obrigatorios, $dados);
             if (!empty($mensagem)) {
                 throw new Exception($mensagem);
             }
             // recebe e codifica a senha atual
             $dados["senhaAtual"] = !empty($dados["senhaAtual"]) ? md5(trim($dados["senhaAtual"])) : $senhaAtual;
             if ($dados["senhaAtual"] != $senhaAtual) {
                 throw new Exception("Senha atual não confere");
             }
             $dados["senha"] = $dados["novaSenha"] = !empty($dados["novaSenha"]) ? md5(trim($dados["novaSenha"])) : $novaSenha;
             $dados = retiraDoArray(array("novaSenha", "senhaAtual"), $dados);
             $dados = $this->dao->salva($conexao, "usuarios", $dados);
             // adiciona nos logs
             //$this->logDAO->adicionar ($conexao, "alterou", "dados", $_SESSION[PREFIX . "loginNome"], $dados["nome"], "Usuário atualizou seus dados.");
             $conexao->commit();
             $conexao->disconnect();
             setMensagem("info", "Dados atualizados");
             Application::redirect('?modulo=index&acao=alterar&id=' . $dados["id"]);
             exit;
         }
     } catch (Exception $e) {
         $conexao->rollback();
         setMensagem("error", $e->getMessage());
         if ($redirecionar != NULL) {
             Application::redirect($redirecionar);
             exit;
         }
     }
     $conexao->disconnect();
     $view = new View($_GET["modulo"], "extendido", "alterar.phtml");
     $view->setParams(array("title" => getTitulo($breadcrumbs), "breadcrumbs" => $breadcrumbs, "usuario" => $dadosUsuario));
     $view->showContents();
 }
コード例 #4
0
ファイル: Cursos.php プロジェクト: esc2/controle_lab
 public function excluir($id)
 {
     $this->load->model('Curso_model');
     if ($this->Curso_model->excluir($id)) {
         setMensagem('admin/cursos', 'Curso Apagado com sucesso!');
     } else {
         setMensagem('admin/cursos', 'Ocorreu um Erro', TRUE);
     }
 }
コード例 #5
0
ファイル: Paineladm.php プロジェクト: esc2/controle_lab
 public function apaga($id)
 {
     /* Carrega o modelo */
     $this->load->model('reserva');
     /* Chama a função inserir do modelo */
     if ($this->reserva->apaga($id)) {
         setMensagem('admin/paineladm', 'Reserva apagado com sucesso!');
     } else {
         setMensagem('admin/paineladm', 'Ocorreu um Erro', TRUE);
     }
 }
コード例 #6
0
ファイル: Reserva_lab.php プロジェクト: esc2/controle_lab
 public function receber()
 {
     //Regras da Validação
     $this->form_validation->set_rules('unidade', 'UNIDADE', 'required');
     $this->form_validation->set_rules('curso', 'CURSO', 'required');
     $this->form_validation->set_rules('disciplina', 'DISCIPLINA', 'required');
     $this->form_validation->set_rules('periodo', 'PERIODO', 'required');
     $this->form_validation->set_rules('dataaula', 'DATA', 'required');
     $this->form_validation->set_rules('turno', 'TURNO', 'required');
     $this->form_validation->set_rules('laboratorio', 'LABORATÓRIO', 'required');
     $this->form_validation->set_rules('titulo', 'TITULO DA AULA', 'required');
     $this->form_validation->set_rules('descricao', 'DESCRICAO', 'required');
     if ($this->form_validation->run() == FALSE) {
         $this->index();
     } else {
         //Recebe os dados da views
         $data['usuarioid'] = $this->session->id;
         $data['unidadeid'] = $this->input->post('unidade');
         $data['cursoid'] = $this->input->post('curso');
         $data['disciplina'] = $this->input->post('disciplina');
         $data['data_aula'] = $this->input->post('dataaula');
         $data['turnoid'] = $this->input->post('turno');
         $data['periodoid'] = $this->input->post('periodo');
         $data['labid'] = $this->input->post('laboratorio');
         $data['titulo_aula'] = $this->input->post('titulo');
         $data['descricao'] = $this->input->post('descricao');
         /* Carrega o modelo */
         $this->load->model('reserva');
         /* Chama a função inserir do modelo */
         if ($this->reserva->cadastro($data)) {
             setMensagem('admin/paineladm', 'Reserva feita com sucesso!');
         } else {
             setMensagem('admin/paineladm', 'Ocorreu um Erro', TRUE);
         }
     }
 }
コード例 #7
0
ファイル: Labs.php プロジェクト: esc2/controle_lab
 public function apaga($id)
 {
     /* Carrega o modelo */
     $this->load->model('Lab_model');
     /* Chama a função inserir do modelo */
     if ($this->Lab_model->apaga($id)) {
         setMensagem('admin/labs', 'Laboratorio apagado com sucesso!');
     } else {
         setMensagem('admin/labs', 'Ocorreu um Erro', TRUE);
     }
 }
コード例 #8
0
 public function removerAction()
 {
     try {
         $conexao = $this->conexao->getConexao();
         $redirecionar = "?modulo=pacientes";
         $objeto = $this->dao->findByPk($conexao, "pacientes", (int) $_GET["id"]);
         $redirecionar .= "&acao=cadastrar&id=" . $objeto["id"];
         $diretorio = DIR_UPLOADS . SEPARADOR_DIRETORIO . "pacientes" . SEPARADOR_DIRETORIO . $objeto["id"];
         $diretorio .= SEPARADOR_DIRETORIO . $objeto["foto"];
         if (!existeArquivo($diretorio)) {
             throw new Exception("Imagem não encontrada");
         }
         if (excluiArquivo($diretorio)) {
             $objeto["foto"] = NULL;
             $this->dao->salva($conexao, "pacientes", $objeto);
             $conexao->commit();
             setMensagem("info", "Foto excluída");
         }
         Application::redirect($redirecionar);
         exit;
     } catch (Exception $e) {
         $conexao->rollback();
         setMensagem("error", $e->getMessage());
         if ($redirecionar != NULL) {
             Application::redirect($redirecionar);
             exit;
         }
     }
 }
コード例 #9
0
ファイル: index.php プロジェクト: saulor/cpbquirophp
<?php

require_once 'config.php';
require_once 'lib/ClassesLoader.php';
ClassesLoader::Register();
require_once 'funcoes.php';
require_once 'webtools/fpdf17/fpdf.php';
$modulo = isset($_GET['modulo']) ? ucwords($_GET['modulo']) : NULL;
$acao = isset($_GET['acao']) ? $_GET['acao'] : NULL;
try {
    $application = new Application();
    $application->dispatch($modulo, $acao);
} catch (Exception $e) {
    setMensagem("error", $e->getMessage());
    header("Location: ?modulo=erro");
}
コード例 #10
0
 public function opcoesAction()
 {
     if (count($_POST) > 0) {
         if (isset($_POST["opcoes"])) {
             $processados = 0;
             $naoProcessados = 0;
             $ids = isset($_POST["agenda"]) ? $_POST["agenda"] : array();
             // retira o elemento -1, caso exista
             if (count($ids) > 0 && $ids[0] == -1) {
                 array_shift($ids);
             }
             try {
                 $conexao = $this->conexao->getConexao();
                 //if (!temPermissao(array('agenda:manterCursos'), $_SESSION[PREFIX . "permissoes"]))
                 //	throw new Exception("Você não tem permissão para realizar esta ação.");
                 foreach ($ids as $id) {
                     $dados = $this->dao->getById($conexao, "agenda", $id);
                     switch ($_POST["opcoes"]) {
                         case "excluir":
                             $opcao = "excluído(s)";
                             try {
                                 $affectedRows = $this->dao->excluir($conexao, "agenda", $id);
                                 if ($affectedRows > 0) {
                                     $processados += 1;
                                     $diretorio = DIR_UPLOADS . SEPARADOR_DIRETORIO . "agenda" . SEPARADOR_DIRETORIO . $id;
                                     excluiDiretorio($diretorio);
                                     //$this->logDAO->adicionar ($conexao, "excluiu", "paciente", $_SESSION[PREFIX . "loginNome"], $dados["nome"], "Usuário excluiu o paciente.");
                                 }
                             } catch (Exception $e) {
                                 $naoProcessados += 1;
                             }
                             break;
                         case "ativar":
                             $opcao = "ativado(s)";
                             $dados["status"] = 1;
                             $affectedRows = $this->dao->atualizar($conexao, "agenda", $dados);
                             if ($affectedRows > 0) {
                                 $processados += 1;
                                 //$this->logDAO->adicionar ($conexao, "ativou", "paciente", $_SESSION[PREFIX . "loginNome"], $dados["nome"], "Usuário ativou paciente.");
                             }
                             break;
                         case "desativar":
                             $opcao = "desativado(s)";
                             $dados["status"] = 0;
                             $affectedRows = $this->dao->atualizar($conexao, "agenda", $dados);
                             if ($affectedRows > 0) {
                                 $processados += 1;
                                 //$this->logDAO->adicionar ($conexao, "desativou", "paciente", $_SESSION[PREFIX . "loginNome"], $dados["nome"], "Usuário desativou paciente.");
                             }
                             break;
                     }
                 }
                 if ($processados > 0) {
                     $conexao->commit();
                     setMensagem("info", $processados . " paciente(s) " . $opcao);
                 }
                 if ($naoProcessados > 0) {
                     setMensagem("error", $naoProcessados . " paciente(s) não podem ser " . $opcao);
                 }
                 $conexao->disconnect();
             } catch (Exception $e) {
                 setMensagem("error", $e->getMessage());
                 $conexao->rollback();
             }
         }
     }
     Application::redirect(WWW_ROOT . "/?" . urldecode($_POST['q']));
     exit;
 }
コード例 #11
0
ファイル: Teste.php プロジェクト: esc2/controle_lab
 public function index()
 {
     $this->layout->setHeader();
     setMensagem('Home', 'ola mundo !', false, '100000');
 }
コード例 #12
0
 public function opcoesAction()
 {
     if (count($_POST) > 0) {
         if (isset($_POST["acoes"])) {
             $processados = 0;
             $naoProcessados = 0;
             $ids = isset($_POST["objetos"]) ? $_POST["objetos"] : array();
             // retira o elemento -1, caso exista
             if (count($ids) > 0 && $ids[0] == -1) {
                 array_shift($ids);
             }
             try {
                 $conexao = $this->conexao->getConexao();
                 //if (!temPermissao(array('pacientes:manterCursos'), $_SESSION[PREFIX . "permissoes"]))
                 //	throw new Exception("Você não tem permissão para realizar esta ação.");
                 foreach ($ids as $id) {
                     $dados = $this->dao->findByPk($conexao, "usuarios", $id);
                     switch ($_POST["acoes"]) {
                         case "excluir":
                             $opcao = "excluído(s)";
                             try {
                                 if (in_array((int) $dados["id"], array(1))) {
                                     $naoProcessados += 1;
                                 } else {
                                     if (true) {
                                     } else {
                                         $affectedRows = $this->dao->exclui($conexao, "usuarios", array("where" => array("id" => (int) $id)));
                                         if ($affectedRows > 0) {
                                             $processados += 1;
                                         }
                                     }
                                 }
                             } catch (Exception $e) {
                                 $naoProcessados += 1;
                             }
                             break;
                     }
                 }
                 if ($processados > 0) {
                     $conexao->commit();
                     setMensagem("info", $processados . " usuário(s) " . $opcao);
                 }
                 if ($naoProcessados > 0) {
                     setMensagem("error", $naoProcessados . " usuário(s) não podem ser " . $opcao);
                 }
                 $conexao->disconnect();
             } catch (Exception $e) {
                 setMensagem("error", $e->getMessage());
                 $conexao->rollback();
             }
         }
     }
     Application::redirect(WWW_ROOT . "/?modulo=usuarios");
     exit;
 }
コード例 #13
0
ファイル: Usuario.php プロジェクト: esc2/controle_lab
 public function apaga($id)
 {
     if ($id == $_SESSION['id']) {
         setMensagem('admin/usuario', 'Erro! vc nao pode se apagar!', TRUE);
     } else {
         /* Carrega o modelo */
         $this->load->model('Usuarios');
         /* Chama a função inserir do modelo */
         $this->Usuarios->apaga($id) ? setMensagem('admin/usuario', 'Usuario apagado com sucesso!') : setMensagem('admin/usuario', 'Ocorreu um Erro', TRUE);
     }
 }