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 Forgot_password extends Customer_Controller { function __construct() { parent::__construct(); $this->load->model('customer_m'); $this->load->library('form_validation'); $this->load->library('cart'); } public function index() { //if customer is loggedin, then direct to summary page if($this->customer_m->loggedin() == TRUE) { redirect('welcome'); } //get SEO $this->db->select('website_name, meta_keywords')->from('configuration')->where('id_configuration', 1); $website_name = $this->db->get()->row(); $this->data_header['browser_title'] = ucwords($website_name->website_name) . ' - Forgot Password'; $this->data_header['meta_description'] = ucwords($website_name->website_name) . ' - Forgot Password'; $this->data_header['meta_keywords'] = $website_name->meta_keywords; $this->load->view('template/header', $this->data_header); $this->load->view('forgot_password'); $this->load->view('template/footer', $this->data_footer); } public function lost_password() { if (!isset($_POST['lost_password'])) { redirect(base_url('login')); } $email = $this->security->xss_clean($this->input->post('email')); $rules = $this->customer_m->lostpassword_rules; $this->form_validation->set_rules($rules); $this->form_validation->set_error_delimiters('<div class="error">', '</div>'); if($this->form_validation->run($this) == FALSE) { $this->index(); } else { //upload random string to customer table $this->load->helper('string'); $data['random_string'] = random_string('alnum', 25); $update_data = array( 'random_string' => $data['random_string'] ); $this->db->where('email', $email); $this->db->update('customers', $update_data); //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('Password Reset Confirmation'); $email = $this->load->view('email/password_reset_confirmation', $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', "A confirmation link has been sent to your email."); redirect('forgot_password'); } } //callback function validation public function checkregisteredemail($str) { //check if input email exist in database $this->db->select('id_customers')->from('customers')->where('email', $str); $count = $this->db->get()->num_rows(); if ($count == 0) { $this->form_validation->set_message('checkregisteredemail', 'Email is not registered! Please create new account.'); return FALSE; } else { return TRUE; } } //callback function validation register new email public function cek_email($str) { $num_rows = $this->customer_m->cek_existing_email($str); if ($num_rows != 0 ) { $this->form_validation->set_message('cek_email', 'Email already exist !'); return FALSE; } else { return TRUE; } } }