Esempio n. 1
0
 /**
  * Método que gera a página que permite trocar a senha do usuário.
  *
  * @param string $token
  */
 public function nova_senha($token = false)
 {
     if (!$token) {
         echo Javascript::alert('Usuário não encontrado');
         echo Javascript::window_location('/btalento/curriculos/login/');
         return;
     }
     $curriculo = $this->objCurriculo->getObject("token = '" . addslashes($token) . "'");
     if (!$curriculo) {
         echo Javascript::alert('Usuário não encontrado');
         echo Javascript::window_location('/btalento/curriculos/login/');
         return;
     }
     $agora = new DateTime(Data::sqlAgora());
     $diferenca = $agora->diff(new DateTime($curriculo->dt_update));
     if ($diferenca->y > 0 || $diferenca->m > 0 || $diferenca->d > 2) {
         echo Javascript::alert('O link informado já expirou. Acesse a página de login e solicite um novo link');
         echo Javascript::window_location('/btalento/curriculos/login/');
         return;
     }
     $this->setData('curriculo', $curriculo)->setData('token', $token)->printView();
 }
Esempio n. 2
0
 /**
  * Método que faz a atualização do banco de acorod com os dados do objeto
  * @param string $where O filtro para a edição. Caso seja informado FALSE como valor, o id atual do objeto será usado
  * @param array $colunasSet As colunas a serem editadas
  * @param boolean $colunasSetExcluir Caso seja definido como TRUE, o array $colunasSet será usado para excluir itens da lista de colunas a serem editadas
  * @return boolean
  */
 public function update($where = FALSE, array $colunasSet = array(), $colunasSetExcluir = FALSE)
 {
     if (!$where) {
         if (is_null($this->id) || !(int) $this->id) {
             throw new Exception("Invalid value: o indice do objeto é inválido");
         }
         $where = 'id = ' . $this->id;
     }
     $query = 'update ' . $this->getTabela() . ' set ';
     unset($this->mapaSql['id']);
     unset($this->mapaSql['user_insert']);
     unset($this->mapaSql['tipo_usuario_insert']);
     unset($this->mapaSql['dt_insert']);
     //Atualizando os dados de registros
     $this->dt_update = Data::sqlAgora();
     if (isset($_SESSION['usuario'])) {
         $this->usuarioLogado = unserialize($_SESSION['usuario']);
         $this->user_last_update = $this->usuarioLogado->get_idUsuario();
         $this->tipo_usuario_update = $this->usuarioLogado->get_tipoUsuarioAtivo()->get_idTipoUsuario();
     } else {
         $this->user_last_update = 0;
     }
     $colunas = array_keys($this->mapaSql);
     if (count($colunasSet)) {
         $colunas = $colunasSetExcluir ? array_diff($colunas, $colunasSet) : $colunasSet;
         if (!$colunasSetExcluir) {
             array_push($colunas, 'dt_update');
             array_push($colunas, 'user_last_update');
             array_push($colunas, 'tipo_usuario_update');
         }
     }
     foreach ($colunas as $value) {
         $query .= $value . ' = :' . $value . ',';
     }
     $query = substr($query, 0, -1) . ' where ' . $where;
     return $this->query($query, $colunas);
 }
Esempio n. 3
0
 /**
  * Método que grava a nova senha no banco.
  */
 public function novasenha()
 {
     $token = filter_input(INPUT_POST, 'link', FILTER_SANITIZE_MAGIC_QUOTES);
     if (!$token) {
         $this->setMensagem('Usuário não encontrado');
         $this->printResposta();
         return;
     }
     $curriculo = $this->objCurriculo->getObject("token = '" . addslashes($token) . "'");
     if (!$curriculo) {
         $this->setMensagem('Usuário não encontrado');
         $this->printResposta();
         return;
     }
     $agora = new DateTime(Data::sqlAgora());
     $diferenca = $agora->diff(new DateTime($curriculo->dt_update));
     if ($diferenca->y > 0 || $diferenca->m > 0 || $diferenca->d > 2) {
         $this->setMensagem('O link informado já expirou. Acesse a página de login e solicite um novo link');
         $this->printResposta();
         return;
     }
     $senha1 = filter_input(INPUT_POST, 'novasenha1');
     $senha2 = filter_input(INPUT_POST, 'novasenha2');
     if (!$senha1 || !$senha2) {
         $this->setMensagem('A nova senha é inválida. A senha deve conter no ' . 'mínimo 6 caracteres');
         $this->printResposta();
         return;
     }
     if (strlen($senha1) < 6) {
         $this->setMensagem('A nova senha é inválida. A senha deve conter no ' . 'mínimo 6 caracteres');
         $this->printResposta();
         return;
     }
     if ($senha1 != $senha2) {
         $this->setMensagem('As senhas não conferem. As senhas devem ser iguais');
         $this->printResposta();
         return;
     }
     $this->objCurriculo->setSenha($senha1)->setToken('');
     if ($this->objCurriculo->update("token = '" . addslashes($token) . "'", array('senha', 'token'))) {
         $this->statusTrue();
         $this->setMensagem('A sua senha foi editada com sucesso. ' . 'Efetue login para poder editar o seu currículo');
     } else {
         $this->setMensagem('Ocorreu um erro ao tentar editar a sua senha. ' . 'Tente novamente mais tarde.');
     }
     $this->printResposta();
 }