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')); }
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')); }
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')); }
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')); }
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')); }