Esempio n. 1
0
 public function expiracao()
 {
     $ldap = new LDAP(3);
     $vazio = true;
     $Usuario = TableRegistry::get("usuario");
     $datas = array(5 => (new \DateTime('+ 5 days'))->format('Ymd'), 10 => (new \DateTime('+ 10 days'))->format('Ymd'), 20 => (new \DateTime('+ 20 days'))->format('Ymd'), 30 => (new \DateTime('+ 30 days'))->format('Ymd'));
     $html = '';
     $usuarios = array();
     $chaves = array();
     foreach ($datas as $chave => $data) {
         $user = $ldap->getUsers("smtDataExpiracao={$data}");
         if (count($user) > 1) {
             $vazio = false;
             $html .= $this->geraHtml($chave, $user);
         }
     }
     if ($vazio) {
         $html = "Não há usuários a expirar.";
     }
     $sus = $Usuario->find()->where(['usuario.idTipoUsuario' => 1]);
     $emails = array();
     foreach ($sus as $su) {
         array_push($emails, $su->login . '@smt.ufrj.br');
     }
     $email = new Email('gmail');
     $email->from(['*****@*****.**' => 'Controle de Usuarios'])->emailFormat('html')->to($emails)->subject('Notificação de Usuarios a expirar')->send('Usuarios : <br><br>' . $html);
     $aviso = new Email('gmail');
     $aviso->from(['*****@*****.**' => 'Controle de Usuarios'])->emailFormat('html')->to('*****@*****.**')->subject('JOB Realizado')->send('Job Dados Expiração executado com sucesso.');
     //return $this->redirect(['action' => 'index']);
     $this->set(compact('datas', 'usuarios', 'chaves', 'html'));
 }
Esempio n. 2
0
 public function ajustabase()
 {
     $Usuario = TableRegistry::get("usuario");
     $Categoria = TableRegistry::get("categoria");
     $usuarios = $Usuario->find()->where(['usuario.historico' => 0, 'usuario.pendente' => 0, 'usuario.idUsuario is not' => 0]);
     $ldap = new LDAP(3);
     $res = array();
     $res_ldap = array();
     $cats = array();
     foreach ($usuarios as $usuario) {
         $obj = $ldap->getUsers("(uid=*{$usuario->login}*)");
         Log::debug($obj);
         $usuario->nomeUsuario = $obj[0]["cn"][0];
         $usuario->dre = isset($obj[0]["smtdre"][0]) ? $obj[0]["smtdre"][0] : '';
         $usuario->logradouro = isset($obj[0]["street"][0]) ? $obj[0]["street"][0] : '';
         $usuario->complemento = isset($obj[0]["smtcomplemento"][0]) ? $obj[0]["smtcomplemento"][0] : '';
         $usuario->cidade = isset($obj[0]["smtcidade"][0]) ? $obj[0]["smtcidade"][0] : '';
         $usuario->bairro = isset($obj[0]["smtbairro"][0]) ? $obj[0]["smtbairro"][0] : '';
         $usuario->pais = isset($obj[0]["smtpais"][0]) ? $obj[0]["smtpais"][0] : '';
         $usuario->estado = isset($obj[0]["smtuf"][0]) ? $obj[0]["smtuf"][0] : '';
         $usuario->codigoPostal = isset($obj[0]["homepostaladdress"][0]) ? $obj[0]["homepostaladdress"][0] : '';
         $usuario->rg = isset($obj[0]['smtrg'][0]) ? $obj[0]['smtrg'][0] : '';
         $usuario->cpf = isset($obj[0]['smtcpf'][0]) ? $this->formataCpf($obj[0]['smtcpf'][0]) : '';
         $usuario->email = isset($obj[0]['mail'][0]) ? $obj[0]['mail'][0] : '';
         $usuario->tel_fixo = isset($obj[0]['telephonenumber'][0]) ? $obj[0]['telephonenumber'][0] : '';
         $usuario->tel_cel = isset($obj[0]['mobile'][0]) ? $obj[0]['mobile'][0] : '';
         $nascimento = isset($obj[0]['smtnascimento'][0]) ? $obj[0]['smtnascimento'][0] : '19000101';
         $usuario->data_nascimento = substr($nascimento, 6, 2) . '/' . substr($nascimento, 4, 2) . '/' . substr($nascimento, 0, 4);
         $usuario->data_exp = isset($obj[0]['smtdataexpiracao'][0]) ? $obj[0]['smtdataexpiracao'][0] : '';
         $usuario->cadastro = isset($obj[0]['smtdatacadastro'][0]) ? $obj[0]['smtdatacadastro'][0] : '';
         //$usuario->ativo = (isset($obj[0]['smtbool'][0])) ? ($obj[0]['smtbool'][0] == 'FALSE') ? false :  true : '';
         $loginResp = str_replace('uid=', '', explode(',', $obj[0]['smtprofresp'][0])[0]);
         $id = $Usuario->find()->where(['login' => $loginResp, 'idTipoUsuario' => 2]);
         if ($id->count() > 0) {
             $usuario->profResponsavel = $id->first()->idUsuario;
         }
         if (isset($obj[0]['smtgroups'])) {
             foreach ($obj[0]['smtgroups'] as $grupo) {
                 $busca = $Usuario->Projeto->find('all', ['conditions' => ['grupo' => "{$grupo}"]]);
                 $number = $busca->count();
                 if ($number > 0) {
                     $proj = $Usuario->Projeto->find()->where(['grupo' => "{$grupo}"])->first();
                     $usuario->idProjeto = $proj->idprojeto;
                     break;
                 }
             }
         }
         if (isset($obj[0]['smtcategoria'])) {
             $cat = $Categoria->find('all')->where(['upper(nomeCategoria)' => strtoupper($obj[0]['smtcategoria'][0])])->first();
             $usuario->idCategoria = $cat->idCategoria;
         }
         array_push($res_ldap, $obj);
         array_push($res, $usuario);
         array_push($cats, $cat);
         $Usuario->save($usuario);
     }
     $aviso = new Email('gmail');
     $aviso->from(['*****@*****.**' => 'Controle de Usuarios'])->emailFormat('html')->to('*****@*****.**')->subject('JOB Realizado')->send('Job Ajuste Base executado com sucesso.');
     $this->set(compact('res', 'res_ldap', 'cats'));
 }
Esempio n. 3
0
 public function entrar()
 {
     $session = $this->request->session();
     $username = $this->request->data['username'];
     $password = $this->request->data['password'];
     $ldap = new LDAP(3);
     //$brisa = count($ldap->getUsers("(mail=*$username*)"));
     $condicoes = array('login' => $username, 'usuario.historico' => 0);
     $retorno = $ldap->autenticar($username, $password);
     if ($retorno == false) {
         $mensagem = 0;
         return $this->redirect(['controller' => 'login', 'action' => 'index', $mensagem]);
     } else {
         $usuarios = TableRegistry::get("usuario");
         $usuario = $usuarios->find()->where($condicoes)->first();
         if ($usuario != null) {
             if ($usuario->ativo) {
                 $session->write('usuario', $usuario);
                 return $this->redirect(['controller' => 'usuario', 'action' => 'meuperfil']);
             } else {
                 $mensagem = 4;
                 return $this->redirect(['controller' => 'login', 'action' => 'index', $mensagem]);
             }
         } else {
             $this->salvarUsuario($ldap->getUsers("(uid=*{$username}*)"));
             $usuario = $usuarios->find()->where($condicoes)->first();
             if ($usuario->ativo) {
                 $session->write('usuario', $usuario);
                 return $this->redirect(['controller' => 'usuario', 'action' => 'meuperfil']);
             } else {
                 $mensagem = 4;
                 return $this->redirect(['controller' => 'login', 'action' => 'index', $mensagem]);
             }
         }
         //$this->set(compact('usuarios','usuario'));
     }
     $this->set(compact('brisa', 'retorno'));
 }
Esempio n. 4
0
 public function cargaSU()
 {
     $ldap = new LDAP(3);
     $objs = array();
     $usuarios = $ldap->getUsers("(cn=netadmin)");
     //$usuarios = $ldap->getUsers("(smtCategoria=cola*)");
     foreach ($usuarios as $usuario) {
         $membros = $usuario['memberuid'];
         $this->set(compact('usuario', 'membros'));
         foreach ($membros as $membro) {
             if (count($ldap->getUsers("(uid={$membro})")) > 1) {
                 array_push($objs, $ldap->getUsers("(uid={$membro})"));
             }
         }
     }
     $tudo = array();
     foreach ($objs as $obj) {
         $usuario = $this->Usuario->newEntity();
         $usuario->login = $obj[0]["uid"][0];
         $usuario->nomeUsuario = $obj[0]["gecos"][0];
         $usuario->rg = $obj[0]['smtrg'][0];
         $usuario->cpf = $obj[0]['smtcpf'][0];
         $usuario->idTipoUsuario = 1;
         $usuario->email = $obj[0]['mail'][0];
         $usuario->tel_fixo = $obj[0]['telephonenumber'][0];
         $usuario->tel_cel = $obj[0]['mobile'][0];
         $nascimento = $obj[0]['smtnascimento'][0];
         $usuario->data_nascimento = substr($nascimento, 6, 2) . '/' . substr($nascimento, 4, 2) . '/' . substr($nascimento, 0, 4);
         $usuario->data_exp = $obj[0]['smtdataexpiracao'][0];
         $usuario->cadastro = $obj[0]['smtdatacadastro'][0];
         $usuario->ativo = $obj[0]['smtbool'][0];
         $query = $this->Usuario->Categoria->find()->where(['nomeCategoria' => $obj[0]['smtcategoria'][0]]);
         $usuario->idCategoria = $query->first()->idCategoria;
         if ($obj[0]["uid"][0] != "camera.smt") {
             $this->Usuario->save($usuario);
         }
         array_push($tudo, $usuario);
     }
     $this->set(compact('usuarios', 'objs', 'tudo'));
 }
Esempio n. 5
0
 public function ldap()
 {
     $ldap = new LDAP(3);
     $mensagem = $ldap->getUsers("(uid=*)");
     $tblUsuario = TableRegistry::get("usuario");
     foreach ($mensagem as $obj) {
         if (isset($obj["uid"])) {
             if (isset($obj["mail"])) {
                 if (isset($obj["smtcategoria"])) {
                     if (strtolower($obj['smtcategoria'][0]) != 'funcional' || strtolower($obj['smtcategoria'][0]) != 'projetos' || strtolower($obj['smtcategoria'][0]) != 'professor' || strtolower($obj['smtcategoria'][0]) != 'colaborador') {
                         $usuario = $tblUsuario->newEntity();
                         $usuario->login = isset($obj['uid'][0]) ? $obj['uid'][0] : '';
                         $usuario->nomeUsuario = isset($obj['cn'][0]) ? $obj['cn'][0] : '';
                         $usuario->rg = isset($obj['smtrg'][0]) ? $obj['smtrg'][0] : '';
                         $usuario->cpf = isset($obj['smtcpf'][0]) ? $obj['smtcpf'][0] : '';
                         $usuario->email = isset($obj['mail'][0]) ? $obj['mail'][0] : '';
                         $usuario->tel_fixo = isset($obj['telephonenumber'][0]) ? $obj['telephonenumber'][0] : '';
                         $usuario->tel_cel = isset($obj['mobile'][0]) ? $obj['mobile'][0] : '';
                         $nascimento = isset($obj['smtnascimento'][0]) ? $obj['smtnascimento'][0] : '19000101';
                         $usuario->data_nascimento = substr($nascimento, 6, 2) . '/' . substr($nascimento, 4, 2) . '/' . substr($nascimento, 0, 4);
                         $usuario->data_exp = isset($obj['smtdataexpiracao'][0]) ? $obj['smtdataexpiracao'][0] : '';
                         $usuario->cadastro = isset($obj['smtdatacadastro'][0]) ? $obj['smtdatacadastro'][0] : '';
                         $usuario->ativo = isset($obj['smtbool'][0]) ? $obj['smtbool'][0] : '';
                         if (isset($obj['smtcategoria'][0])) {
                             $query = $tblUsuario->Categoria->find()->where(['nomeCategoria' => $obj['smtcategoria'][0]]);
                             $usuario->idCategoria = $query->first()->idCategoria;
                             // if(strtolower($obj['smtcategoria'][0]) == 'professor'){
                             // }
                             // else{
                             // if(strtolower($obj['smtcategoria'][0]) == 'funcional'){
                             // $usuario->idTipoUsuario = 1;
                             // }
                             // else{
                             // $usuario->idTipoUsuario = 3;
                             // }
                             // }
                         }
                         // else{
                         // $usuario->idTipoUsuario = 3;
                         // }
                         $usuario->idTipoUsuario = 3;
                         $usuario->idProjeto = 29;
                         // if(isset($obj['smtgroups'])){
                         // foreach($obj['smtgroups'] as $grupo){
                         // $busca = $tblUsuario->Projeto->find('all', [
                         // 'conditions' => ['grupo like' => "%$grupo%"]
                         // ]);
                         // $number = $busca->count();
                         // if($number > 0){
                         // $proj = $tblUsuario->Projeto->find()->where(['grupo like' => "%$grupo%"]);
                         // }
                         // }
                         // }
                         $existe = $tblUsuario->find('all', ['conditions' => ['login' => $usuario->login]]);
                         if ($existe->count() == 0) {
                             $tblUsuario->save($usuario);
                         }
                     }
                 }
             }
         }
     }
     $this->layout = 'aluno';
     $this->set(compact('mensagem'));
 }