예제 #1
0
 /**
  * verificacao dos dados enviados
  * verifica se o login foi alterado com o que era e se o novo login já esta cadastrado
  * 
  * salva na base de dados
  */
 public function send()
 {
     if ($this->form_validation->run() == FALSE) {
         $this->index();
     } else {
         $this->load->helper(array('texto', 'datetime_format'));
         $dados = array('id' => $this->input->post('id'), 'name' => $this->input->post('name'), 'username' => $this->input->post('username'), 'nickname' => $this->input->post('nickname'), 'gender' => $this->input->post('gender'), 'telephone' => $this->input->post('telephone'), 'birthdate' => data_br_to_us($this->input->post('birthdate')), 'zipcode' => $this->input->post('zipcode'), 'address' => $this->input->post('address'), 'address_number' => $this->input->post('address_number'), 'complement' => $this->input->post('complement'), 'district' => $this->input->post('district'), 'state' => $this->input->post('state'), 'city' => $this->input->post('city'), 'updated_at' => date($this->config->item('log_date_format')));
         // verifica se foi passado alguma senha, caso tenha sido, dai sim faz alteração no campo password
         if ($this->input->post('password') != "") {
             $this->load->library('encrypt');
             $dados['password'] = $this->encrypt->encode($this->input->post('password'));
         }
         // verifica questão de duplicidade de login e tenta atualizar os dados
         if ($this->get_duplicate_login($dados) == false) {
             $msg = cAlerts('O login já esta sendo usado por outro usuário, tente outro por favor!', 'alert-error');
             $this->index($msg);
         } else {
             if ($this->user_m->save($dados)) {
                 $this->session->set_userdata(array('user_name' => $dados['name']));
                 $msg = cAlerts('Dados alterados com sucesso.', 'alert-success');
                 $this->index($msg);
             } else {
                 $msg = cAlerts('Erro ao alterar os dados! Por favor tente novamente.', 'alert-error');
                 $this->index($msg);
             }
         }
     }
 }
예제 #2
0
 /**
  * validacao do login e senha
  */
 protected function valid_login($dados)
 {
     $this->load->library('encrypt');
     $this->load->model('user_m');
     $vLogin = $this->user_m->get_login($dados['login']);
     // caso exista o login ou e-mail passado e já tenha confirmado por e-mail e usuario esteja ativo e a senha esteja correta
     if ($vLogin && $vLogin[0]->confirmed == 1 && $vLogin[0]->active == 1 && $dados['password'] === $this->encrypt->decode($vLogin[0]->password)) {
         $this->logado($vLogin);
     } else {
         $msg = cAlerts('Nome de usuário ou senha inválido.', 'alert-warning');
         $this->index($msg);
     }
 }
예제 #3
0
 /**
  * verificacao dos dados enviados
  * gera um codigo de confirmação
  * salva na base de dados
  * envia e-mail de confirmação
  */
 public function send()
 {
     if ($this->form_validation->run() == FALSE) {
         $this->index();
     } else {
         $this->load->library('encrypt', 'alert');
         $this->load->model('user_m');
         $dados['email'] = $this->input->post('email');
         $result = $this->user_m->get($dados);
         if (count($result) == 0) {
             $msg = cAlerts('E-mail não cadastrado.', 'alert-error');
             $this->index($msg);
         } else {
             // salvar um log em password_reminders
             $this->load->model('password_reminders_m');
             $this->password_reminders_m->save(array('email' => $dados['email'], 'created_at' => date($this->config->item('log_date_format'))));
             $dados['name'] = $result[0]->name;
             $dados['username'] = $result[0]->username;
             // decripta a senha
             $this->load->library('encrypt');
             $dados['password'] = $this->encrypt->decode($result[0]->password);
             // prepara e envia o e-mail
             $this->load->library('email');
             $this->email->from(EMAIL_FROM, NAME_FROM);
             $this->email->to($dados['email']);
             $this->email->subject('Solicitação de Recuperação de Senha do site: ' . SITE_NAME);
             $message = $this->load->view('email/forget_password', $dados, TRUE);
             $this->email->message($message);
             if ($this->email->send()) {
                 $msg = cAlerts('E-mail enviado com sucesso.', 'alert-success');
                 $this->index($msg);
             } else {
                 echo $this->email->print_debugger();
             }
         }
     }
 }
예제 #4
0
 /**
  * verificacao dos dados enviados *
  * salva na base de dados *
  * caso setado salvar em users_mailing *
  * envia e-mail agradecendo *
  *      e-mail sempre com opção de cancelar mailing *
  * envia e-mial para EMAIL_FROM *
  *      e-mail com os dados do cadastro *
  */
 public function send()
 {
     if ($this->form_validation->run() == FALSE) {
         $this->index();
     } else {
         $this->load->helper('texto');
         $dados = array('name' => $this->input->post('name'), 'email' => $this->input->post('email'), 'telephone' => $this->input->post('telephone'), 'message' => $this->input->post('message'), 'user_id' => $this->session->userdata('user_id'), 'ip_address' => $_SERVER['REMOTE_ADDR'], 'user_agent' => $this->input->user_agent(), 'created_at' => date($this->config->item('log_date_format')));
         $this->load->model('contact_m');
         $register = $this->contact_m->save($dados);
         if ($register == FALSE) {
             $msg = cAlerts('Erro ao enviar mensagem! Por favor tente novamente.', 'alert-danger');
             $this->index($msg);
         } else {
             $dados['token'] = gera_str(rand(45, 60), 'num_str');
             $this->load->model('users_mailing_m');
             $this->users_mailing_m->add_list($this->input->post('acept'), $dados);
             $this->load->library('email');
             $this->email->from(EMAIL_FROM, NAME_FROM);
             $this->email->to($dados['email']);
             $this->email->subject(SITE_NAME . ' : Agradecemos o contato');
             $message = $this->load->view('email/send_message', $dados, TRUE);
             $this->email->message($message);
             if ($this->email->send()) {
                 $this->email->to(EMAIL_TO);
                 $this->email->subject(SITE_NAME . ' : Contato do site');
                 $message = $this->load->view('email/contact', $dados, TRUE);
                 $this->email->message($message);
                 $this->email->send();
                 $msg = cAlerts('Agradecemos o contato, em breve entraremos em contato.', 'alert-success');
                 $this->index($msg);
             } else {
                 echo $this->email->print_debugger();
             }
         }
     }
 }
예제 #5
0
 public function send_confirmation_register($codigo = NULL)
 {
     if ($this->form_validation->run() == FALSE && $codigo == NULL) {
         $this->confirmation_register();
     } else {
         if ($codigo == NULL) {
             $data['confirmation_code'] = $this->input->post('confirmation_register');
         } else {
             $data['confirmation_code'] = $codigo;
         }
         $result = $this->user_m->get($data);
         if (count($result) == 0) {
             $msg = cAlerts('Código de Confirmação incorreto. Verifique no seu e-mail o código enviado.', 'alert-danger');
             $this->confirmation_register($msg);
         } else {
             // atualiza em user.confirmed para 1
             // crio a sessão do usuario
             // redireciono o usuario para logado
             $this->user_m->save(array('id' => $result[0]->id, 'confirmed' => true, 'updated_at' => date($this->config->item('log_date_format'))));
             $this->load->library('Sessao');
             $this->sessao->set_session($result[0]);
             redirect('logado', 'refresh');
         }
     }
 }