Advertisement
setthink

Member

Apr 6th, 2020
646
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.69 KB | None | 0 0
  1. <?php
  2.  
  3. class Member extends CI_Controller{
  4.    function __construct(){
  5.       parent::__construct();
  6.       $this->load->model(['ModelBuku', 'ModelUser', 'ModelBooking']);
  7.    }
  8.  
  9.    public function index(){
  10.       $this->_login();
  11.    }
  12.  
  13.    private function _login(){
  14.       $email = htmlspecialchars($this->input->post('email', true));
  15.       $password = $this->input->post('password', true);
  16.  
  17.       $user = $this->ModelUser->cekData(['email' => $email])->row_array();
  18.      
  19.       //jika user ada
  20.       if($user){
  21.          if($user['is_active']==1){
  22.             if(password_verify($password, $user['password'])){
  23.                $data = [
  24.                   'email' => $user['email'],
  25.                   'role_id' => $user['role_id'],
  26.                   'id_user' => $user['id'],
  27.                   'nama' => $user['nama']
  28.                   ];
  29.  
  30.                   $this->session->set_userdata($data);
  31.                   redirect('home');
  32.             }else{
  33.                $this->session->set_flashdata('pesan', '<div class="alert alert-danger alertmessage" role="alert">Password salah!!</div>');
  34.                redirect('home');
  35.             }
  36.  
  37.          }else{
  38.             $this->session->set_flashdata('pesan', '<div class="alert alertdanger alert-message" role="alert">Email tidak terdaftar!!</div>');
  39.             redirect('home');
  40.  
  41.          }
  42.       }
  43.  
  44.  
  45.    }
  46.  
  47.    public function daftar(){
  48.          $this->form_validation->set_rules('nama', 'Nama Lengkap', 'required', ['required' => 'Nama Belum diis!!']);
  49.          $this->form_validation->set_rules('alamat', 'Alamat Lengkap', 'required', ['required' => 'Alamat Belum diis!!']);
  50.                            
  51.          $this->form_validation->set_rules('email', 'Alamat Email', 'required|trim|valid_email|is_unique[user.email]', ['valid_email' => 'Email Tidak Benar!!','required' => 'Email Belum diisi!!','is_unique' => 'Email Sudah Terdaftar!']);
  52.          $this->form_validation->set_rules('password1', 'Password', 'required|trim|min_length[3]|matches[password2]', ['matches' => 'Password Tidak Sama!!','min_length' => 'Password Terlalu Pendek']);
  53.  
  54.          $this->form_validation->set_rules('password2', 'Repeat Password', 'required|trim|matches[password1]');
  55.                $email = $this->input->post('email', true);
  56.                   $data = ['nama' => htmlspecialchars($this->input->post('nama', true)),
  57.                            'alamat' => $this->input->post('alamat', true),
  58.                            'email' => htmlspecialchars($email),
  59.                            'image' => 'default.jpg',
  60.                            'password' => password_hash($this->input->post('password1'), PASSWORD_DEFAULT),
  61.                            'role_id' => 2,
  62.                            'is_active' => 1,
  63.                            'tanggal_input' => time()
  64.                            ];
  65.                            $this->ModelUser->simpanData($data);
  66.                            $this->session->set_flashdata('pesan', '<div class="alert alertsuccess alertmessage" role="alert">Selamat!! akun anggota anda sudah dibuat.</div>');
  67.                            redirect(base_url());
  68.                            }
  69.  
  70.    public function myProfil(){
  71.       $data['judul']='profil saya';
  72.       $user = $this->ModelUser->cekData(['email' => $this->session->userdata('email')])->row_array();
  73.        foreach ($user as $a) {
  74.        $data = ['image' => $user['image'],
  75.                   'user' => $user['nama'],
  76.                   'email' => $user['email'],
  77.                   'tanggal_input' => $user['tanggal_input'],
  78.                ];
  79.        
  80.             }
  81.        $this->load->view('templates/templates-user/header', $data);
  82.        $this->load->view('member/index', $data);
  83.        $this->load->view('templates/templates-user/modal');
  84.        $this->load->view('templates/templates-user/footer', $data);
  85.        }
  86.      
  87.        public function ubahProfil() {
  88.             $data['judul'] = 'Profil Saya';
  89.             $user = $this->ModelUser->cekData(['email' => $this->session->userdata('email')])->row_array();
  90.             foreach ($user as $a) {
  91.                $data = [
  92.                'image' => $user['image'],
  93.                'user' => $user['nama'],
  94.                'email' => $user['email'],
  95.                'tanggal_input' => $user['tanggal_input'],
  96.                ];
  97.                }
  98.                $this->form_validation->set_rules('nama', 'Nama Lengkap', 'required|trim', ['required' => 'Nama tidak Boleh Kosong'
  99.                ]);
  100.                if ($this->form_validation->run() == false) {
  101.                $this->load->view('templates/templates-user/header', $data);
  102.                $this->load->view('member/ubah-anggota', $data);
  103.                $this->load->view('templates/templates-user/modal');
  104.                $this->load->view('templates/templates-user/footer', $data);
  105.                } else {
  106.                $nama = $this->input->post('nama', true);
  107.                $email = $this->input->post('email', true);
  108.                
  109.                //jika ada gambar yang akan diupload
  110.  
  111.                $upload_image = $_FILES['image']['name'];
  112.                if ($upload_image) {
  113.                $config['upload_path'] = './assets/img/profile/'; //url foto
  114.                $config['allowed_types'] = 'gif|jpg|png|bmp|jpeg';
  115.                $config['max_size'] = '2048';
  116.                $config['max_width'] = '1288';
  117.                $config['max_height'] = '768';
  118.                $config['file_name'] = 'pro' . time();
  119.  
  120.                $this->load->library('upload', $config);
  121.                if ($this->upload->do_upload('image')) {
  122.                   $gambar_lama = $data['user']['image'];
  123.                      if ($gambar_lama != 'default.jpg') {
  124.                         unlink(FCPATH . 'assets/img/profile/' . $gambar_lama);
  125.                      }
  126.                $gambar_baru = $this->upload->data('file_name');
  127.                $this->db->set('image', $gambar_baru);
  128.             } else {
  129.             }
  130.             }
  131.             $this->db->set('nama', $nama);
  132.             $this->db->where('email', $email);
  133.             $this->db->update('user');
  134.             $this->session->set_flashdata('pesan', '<div class="alert alertsuccess alert-message" role="alert">Profil Berhasil diubah </div>');
  135.             redirect('member/myprofil');
  136.             }
  137.             }
  138.            
  139.             public function logout(){
  140.                   $this->session->unset_userdata('email');
  141.                   $this->session->unset_userdata('role_id');
  142.                   $this->session->set_flashdata('pesan', '<div class="alert alertsuccess alert-message" role="alert">Anda telah logout!!</div>');
  143.                   redirect('home');
  144.             }
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.    }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement