Esempio n. 1
0
 public function logar()
 {
     $mail = trim($_REQUEST['email']);
     $pass = $_REQUEST['password'];
     $user = new usuariosModel();
     // Valida pelo login
     $registro = $user->getUsuarioInicial(" L.email = '" . $mail . "'");
     //print_a_die($registro);
     //        var_dump($registro);die;
     //Verifica se usuario possui perfil - Rafael
     if ($registro == null) {
         $this->smarty->assign('mensagem', 'Usuário inválido e/ou inexistente');
         $this->smarty->display('login/login.html');
         die;
         //  var_dump($registro);die;
     }
     $objUserPerfil = new usuario_perfilModel();
     $sql = 'UP.status <> 0' . ' AND id_usuario = ' . $registro[0]['id_usuario'];
     $user_perfil = $objUserPerfil->getUsuario_perfil($sql);
     //        var_dump($user_perfil);die;
     if (sizeof($user_perfil) == 0) {
         $_SESSION['login']['mensagem'] = "Usuario não possui perfil";
         header("Location: " . "/login");
         exit;
     }
     $objpm = new perfil_menuModel();
     $sqlpm = 'PM.id_perfil = ' . $user_perfil[0]['id_perfil'];
     $perfmenu = $objpm->getperfil_menu($sqlpm);
     //        var_dump($perfmenu);die;
     if (sizeof($perfmenu) == 0) {
         $_SESSION['login']['mensagem'] = "Perfil do usario não possui menu associado";
         header("Location: " . "/login");
         exit;
     }
     if (isset($registro[0]['email'])) {
         if (trim($registro[0]['senha']) == trim($pass)) {
             $_SESSION['user']['id_usuario'] = $registro[0]['id_usuario'];
             $_SESSION['user']['senha'] = $registro[0]['senha'];
             $_SESSION['user']['nome'] = $registro[0]["nome"];
             $_SESSION['user']['projeto']['id_projetos'] = $registro[0]["projeto"];
             //     print_a_die($_SESSION['user']['projeto']['id_projetos']);
             $_SESSION['user']['login'] = $mail;
             $id_perfil = $user->getPerfilByUsuario($_SESSION['user']['id_usuario']);
             $_SESSION['user']['id_perfil'] = is_null($id_perfil) ? 0 : $id_perfil;
             if ($_SESSION['user']['id_perfil'] == 0) {
                 $_SESSION['user'] = null;
                 $_SESSION['login'] = null;
                 //echo json_encode($retorno, true);
                 $_SESSION['login']['mensagem'] = "Você não tem um Perfil associado a este usuario";
                 header("Location: " . "/login");
                 exit;
             }
             $_SESSION['user']['id_parceiro'] = $registro[0]["id_parceiro"];
             $_SESSION['user']['tipo_usuario'] = $registro[0]["id_usuario_tipo"];
             if ($_SESSION['user']['id_perfil'] > 0) {
                 $_SESSION['user']['controllers_autorizados'] = $user->getMenuByPerfil($_SESSION['user']['id_perfil']);
             } else {
                 $_SESSION['user']['controllers_autorizados'] = 0;
             }
             $_SESSION['user']['registro'] = time();
             // armazena o momento em que autenticado //
             $_SESSION['user']['limite'] = TEMPO_LIMITE;
             // armazena o tempo limite sem atividade //
             //Somente Gera menu caso exista um perfil
             if ($_SESSION['user']['id_perfil'] > 0) {
                 $_SESSION['user']['menu'] = $this->geramenu();
             }
             // Recupera o Projeto em caso de Parceiro
             $projetos = new projetoModel();
             if (isset($_SESSION['user']['projeto']['id_projetos'])) {
                 $proj_res = $projetos->getprojeto("id_projetos=" . $_SESSION['user']['projeto']['id_projetos'] . " AND status=1");
                 if (isset($proj_res[0]['nome'])) {
                     $_SESSION['user']['projeto']['nome'] = $proj_res[0]['nome'];
                 } else {
                     $proj_res = $projetos->getprojeto("status=1");
                     $_SESSION['user']['projeto']['nome'] = $proj_res[0]['nome'];
                 }
             } else {
                 $proj_res = $projetos->getprojeto("status_projeto=1");
             }
             $util = new util();
             // reislemos em 24042015
             $util->debug_no_log('LOGIN NO PORTAL', 20);
             //$retorno = array('msg' => 'Login Realizado com sucesso', 'status' => 'success'); //error, success
             header("Location: /dashboard");
             exit;
         } else {
             //$retorno = array('msg' => 'Senha inválida', 'status' => 'error'); //error, success
             //echo json_encode($retorno, true);
             $_SESSION['login']['mensagem'] = "Senha inválida";
             header("Location: " . "/login");
             exit;
         }
     } else {
         // $retorno = array('msg' => 'Usuario não encontrado', 'status' => 'error'); //error, success
         // echo json_encode($retorno, true);
         $_SESSION['login']['mensagem'] = "Usuario não encontrado";
         header("Location: " . "/login");
         exit;
     }
 }