function reg() { $this->load->helper('form'); $this->load->library('form_validation'); $rules = array(array('field' => 'fname', 'label' => 'Firstname', 'rules' => 'required'), array('field' => 'lname', 'label' => 'Lastname', 'rules' => 'required'), array('field' => 'mname', 'label' => 'Middlename', 'rules' => 'required'), array('field' => 'username', 'label' => 'Username', 'rules' => 'required'), array('field' => 'password', 'label' => 'Password', 'rules' => 'required')); $this->form_validation->set_rules($rules); if ($this->form_validation->run() === FALSE) { $d['error'] = ''; $this->load->view('user/register', $d); } else { $username = $this->input->post('username'); $this->db->where('username', $username); $count = $this->db->count_all_results('users'); if ($count > 0) { $this->load->helper('string'); $ar = $this->db->get('users')->result_array(); $data = array(); foreach ($ar as $user) { $data[] = $user['username']; } $suggest = increment_exists($username, $data); $d['error'] = '<div class="alert alert-danger text-center"> Username is already taken <br/> Recommended username: '******'</div>'; $this->load->view('user/register', $d); } else { $password = $this->input->post('password'); $con_pass = $this->input->post('con_pass'); // TODO: check for a strong password if (valid_pass($password)) { if ($password == $con_pass) { $config['upload_path'] = './assets/uploads/'; // check if the attachment belongs to image $config['allowed_types'] = 'jpg|png|jpeg'; $config['max_size'] = 2048; $config['encrypt_name'] = TRUE; $this->load->library('upload', $config); if ($this->upload->do_upload()) { $data['pic'] = $this->upload->data('file_name'); $data['fname'] = ucwords($this->input->post('fname')); $data['lname'] = ucwords($this->input->post('lname')); $data['mname'] = ucwords($this->input->post('mname')); $data['email'] = $this->input->post('email'); $data['bday'] = $this->input->post('bday'); $data['contact'] = $this->input->post('contact'); $data['username'] = $username; $data['password'] = md5($password); $data['address'] = $this->input->post('address'); $data['gender'] = $this->input->post('gender'); $data['question'] = $this->input->post('secret_q'); $data['answer'] = $this->input->post('answer_q'); $this->db->insert('users', $data); $this->session->set_flashdata('message', alert('Successfully registered', 'success')); redirect('/register'); } else { $d['error'] = alert($this->upload->display_errors()); $this->load->view('user/register', $d); } } else { $d['error'] = alert('Please confirm your password'); $this->load->view('user/register', $d); } } else { $d['error'] = '<div class="alert alert-danger">Password must have at least one capital letter a small letter a number and special character</div>'; $this->load->view('user/register', $d); } } } }
function all_users($id = '') { $this->load->helper('form'); $this->load->library('form_validation'); // set all rules $rules = array(array('field' => 'fname', 'label' => 'Firstname', 'rules' => 'required'), array('field' => 'lname', 'label' => 'Lastname', 'rules' => 'required'), array('field' => 'mname', 'label' => 'Middlename', 'rules' => 'required'), array('field' => 'office', 'label' => 'Office', 'rules' => 'required'), array('field' => 'contact', 'label' => 'Contact Number', 'rules' => 'required')); $this->form_validation->set_rules($rules); if ($this->form_validation->run() === FALSE) { if (empty($id)) { $d['error'] = ''; $d['id'] = ''; $d['fname'] = set_value('fname'); $d['lname'] = set_value('lname'); $d['mname'] = set_value('mname'); $d['office'] = set_value('office'); $d['contact'] = set_value('contact'); } else { // @todo: ask if the username and password is neccessary in // edit user $this->db->where('id', $id); $u = $this->db->get('users')->row_array(); $d['fname'] = $u['fname']; $d['lname'] = $u['lname']; $d['mname'] = $u['mname']; $d['office'] = $u['office']; $d['contact'] = $u['contact']; $d['id'] = $id; $d['error'] = ''; } $this->load->view('admin/all_users', $d); } else { if (empty($id)) { // check if the length is 11 $contact = $this->input->post('contact'); if (strlen($contact) == 11) { $password = $this->input->post('password'); $con_pass = $this->input->post('con_pass'); // check for strong password if (valid_pass($password)) { // does it match the password and confirm password if ($password == $con_pass) { $username = $this->input->post('username'); // check if the username already exists $this->db->where('username', $username); $c = $this->db->count_all_results('users'); if ($c > 0) { // if it exists recommend a username $this->load->helper('string'); $ar = $this->db->get('users')->result_array(); $data1 = array(); foreach ($ar as $user) { $data1[] = $user['username']; } $suggest = increment_exists($username, $data1); $d['error'] = '<div class="alert alert-danger text-center"> Username is already taken <br/> Recommended username: '******'</div>'; $d['id'] = ''; $d['fname'] = set_value('fname'); $d['lname'] = set_value('lname'); $d['mname'] = set_value('mname'); $d['office'] = set_value('office'); $d['contact'] = set_value('contact'); $this->load->view('admin/all_users', $d); } else { // after all the validation insert it to table $data['fname'] = ucwords($this->input->post('fname')); $data['lname'] = ucwords($this->input->post('lname')); $data['mname'] = ucwords($this->input->post('mname')); $data['office'] = ucwords($this->input->post('office')); $data['type'] = 'ngo'; $data['contact'] = $contact; $data['username'] = $this->input->post('username'); $data['password'] = md5($password); $this->db->insert('users', $data); redirect('/users'); } } else { $d['error'] = alert('Please Confirm Password'); $d['id'] = ''; $d['fname'] = set_value('fname'); $d['lname'] = set_value('lname'); $d['mname'] = set_value('mname'); $d['office'] = set_value('office'); $d['contact'] = set_value('contact'); $this->load->view('admin/all_users', $d); } } else { $d['error'] = alert('Password must have at least one capital letter a small letter a number and special character'); $d['id'] = ''; $d['fname'] = set_value('fname'); $d['lname'] = set_value('lname'); $d['mname'] = set_value('mname'); $d['office'] = set_value('office'); $d['contact'] = set_value('contact'); $this->load->view('admin/all_users', $d); } } else { $d['error'] = alert('Invalid Contact Number'); $d['id'] = ''; $d['fname'] = set_value('fname'); $d['lname'] = set_value('lname'); $d['mname'] = set_value('mname'); $d['office'] = set_value('office'); $d['contact'] = set_value('contact'); $this->load->view('admin/all_users', $d); } } else { $data['fname'] = $this->input->post('fname'); $data['lname'] = $this->input->post('lname'); $data['mname'] = $this->input->post('mname'); $data['office'] = $this->input->post('office'); $data['contact'] = $this->input->post('contact'); $this->db->where('id', $id); $this->db->update('users', $data); $this->session->set_flashdata('message', alert('Successfully edited', 'success')); redirect('/users'); } } }