Пример #1
0
 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);
             }
         }
     }
 }
Пример #2
0
 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');
         }
     }
 }