|
Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /var/www/kamariallee.com/public_html/application/controllers/ |
Upload File : |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Verify_passwordreset extends Public_Controller {
function __construct() {
parent::__construct();
$this->load->model('configuration_m');
}
public function verify($random_string = NULL) {
if ($random_string == NULL) { show_404(); }
//check if $random_hash is exist
$this->db->select('random_string')->from('customers')->where('random_string', $random_string);
$count = $this->db->get()->num_rows();
if ($count == 0) { show_404(); }
//set new password
$this->load->helper('string');
$random_password = random_string('alnum', 10);
$hash_random_password = hash('sha512', $random_password . config_item('encryption_key'));
$data_update = array(
'password' => $hash_random_password,
);
$this->db->where('random_string', $random_string);
$this->db->update('customers', $data_update);
$data['random_password'] = $random_password;
//get customer email
$this->db->select('email')->from('customers')->where('random_string', $random_string);
$email = $this->db->get()->row()->email;
//get website data
$this->db->select('logo, from_email, website_name, email_smtp_host, email_smtp_port, email_smtp_password, email_smtp')->from('configuration')->where('id_configuration', 1);
$website_data = $this->db->get()->row();
$data['logo'] = $website_data->logo;
$data['website_name'] = $website_data->website_name;
//----SEND EMAIL TO CUSTOMER
$this->load->library('email');
//get email setting
$config['protocol'] = 'smtp';
$config['smtp_host'] = $website_data->email_smtp_host;
$config['smtp_port'] = $website_data->email_smtp_port;
$config['smtp_user'] = $website_data->email_smtp;
$config['smtp_pass'] = $website_data->email_smtp_password;
$config['mailtype'] = 'html';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$config['newline'] = "\r\n"; //use double quotes to comply with RFC 822 standard
$this->email->initialize($config);
$this->email->from($website_data->from_email, $website_data->website_name);
$this->email->to($email);
//$this->email->cc($data['emails']->from_email);
$this->email->subject('Your New Password');
$email = $this->load->view('email/new_password', $data, TRUE);
$this->email->message($email);
$response = $this->email->send();
if (!$response) { var_dump($this->email->print_debugger()); exit(); }
//----end send email
$this->session->set_flashdata('confirmation', "Password reset successful. New system generated password has been sent to your email.");
redirect('login');
}
}