151 lines
5.7 KiB
PHP
151 lines
5.7 KiB
PHP
<?php
|
|
namespace App\Controllers\Wali_kelas;
|
|
|
|
use CodeIgniter\Controller;
|
|
use App\Models\User_model;
|
|
use App\Models\Staff_model;
|
|
use App\Models\Kategori_staff_model;
|
|
|
|
class Akun extends BaseController
|
|
{
|
|
|
|
// mainpage
|
|
public function index()
|
|
{
|
|
|
|
$m_user = new User_model();
|
|
$m_staff = new Staff_model();
|
|
$m_kategori_staff = new Kategori_staff_model();
|
|
$id_user = $this->session->get('id_user');
|
|
$user = $m_user->detail($id_user);
|
|
$kategori_staff = $m_kategori_staff->listing();
|
|
|
|
if($user->id_staff >0) {
|
|
$staff = $m_staff->detail($user->id_staff);
|
|
$id_staff = $user->id_staff;
|
|
}else{
|
|
$staff = '';
|
|
$id_staff = '';
|
|
}
|
|
|
|
|
|
// Start validasi
|
|
if($this->request->getMethod() === 'post' && $this->validate(
|
|
[
|
|
'nama' => 'required',
|
|
])) {
|
|
// update user
|
|
if(isset($_POST['user'])) {
|
|
if(!empty($_FILES['gambar']['name'])) {
|
|
// Image upload
|
|
$avatar = $this->request->getFile('gambar');
|
|
$nama_baru = $avatar->getRandomName();
|
|
$avatar->move(WRITEPATH . '../assets/upload/image/',$nama_baru);
|
|
// Create thumb
|
|
$image = \Config\Services::image()
|
|
->withFile(WRITEPATH . '../assets/upload/image/'.$nama_baru)
|
|
->fit(100, 100, 'center')
|
|
->save(WRITEPATH . '../assets/upload/image/thumbs/'.$nama_baru);
|
|
// masuk database
|
|
$data = [ 'id_user' => $id_user,
|
|
'nama' => $this->request->getPost('nama'),
|
|
'email' => $this->request->getPost('email'),
|
|
'gambar' => $nama_baru,
|
|
];
|
|
$m_user->edit($data);
|
|
}else{
|
|
$data = [ 'id_user' => $id_user,
|
|
'nama' => $this->request->getPost('nama'),
|
|
'email' => $this->request->getPost('email'),
|
|
];
|
|
$m_user->edit($data);
|
|
}
|
|
$this->session->setFlashdata('sukses','Data telah diupdate');
|
|
return redirect()->to(base_url('wali_kelas/akun#user'));
|
|
}
|
|
// end update user
|
|
// update password
|
|
if(isset($_POST['pwd'])) {
|
|
|
|
if(strlen($this->request->getPost('password')) < 6 && strlen($this->request->getPost('password')) > 32) {
|
|
$this->session->setFlashdata('warning','Password minimal 6 dan maksimal 32 karakter');
|
|
return redirect()->to(base_url('wali_kelas/akun#pwd'));
|
|
}elseif($this->request->getPost('password')!= $this->request->getPost('konfirmasi_password')) {
|
|
$this->session->setFlashdata('warning','Password tidak sama');
|
|
return redirect()->to(base_url('wali_kelas/akun#pwd'));
|
|
}else{
|
|
$data = [ 'id_user' => $id_user,
|
|
'password' => sha1($this->request->getPost('password')),
|
|
];
|
|
$m_user->edit($data);
|
|
$this->session->setFlashdata('sukses','Password telah diupdate');
|
|
return redirect()->to(base_url('wali_kelas/akun#pwd'));
|
|
}
|
|
}
|
|
// end update password
|
|
// update user
|
|
if(isset($_POST['staff'])) {
|
|
if(!empty($_FILES['gambar']['name'])) {
|
|
// Image upload
|
|
$avatar = $this->request->getFile('gambar');
|
|
$nama_baru = $avatar->getRandomName();
|
|
$avatar->move(WRITEPATH . '../assets/upload/image/',$nama_baru);
|
|
// Create thumb
|
|
$image = \Config\Services::image()
|
|
->withFile(WRITEPATH . '../assets/upload/image/'.$nama_baru)
|
|
->fit(100, 100, 'center')
|
|
->save(WRITEPATH . '../assets/upload/image/thumbs/'.$nama_baru);
|
|
// masuk database
|
|
$data = [ 'id_staff' => $id_staff,
|
|
'id_user' => $this->session->get('id_user'),
|
|
'id_kategori_staff' => $this->request->getPost('id_kategori_staff'),
|
|
'urutan' => $this->request->getPost('urutan'),
|
|
'nama' => $this->request->getPost('nama'),
|
|
'jenis_kelamin' => $this->request->getPost('jenis_kelamin'),
|
|
'jabatan' => $this->request->getPost('jabatan'),
|
|
'alamat' => $this->request->getPost('alamat'),
|
|
'telepon' => $this->request->getPost('telepon'),
|
|
'website' => $this->request->getPost('website'),
|
|
'email' => $this->request->getPost('email'),
|
|
'keahlian' => $this->request->getPost('keahlian'),
|
|
'gambar' => $nama_baru,
|
|
'status_staff' => $this->request->getPost('status_staff'),
|
|
'tempat_lahir' => $this->request->getPost('tempat_lahir'),
|
|
'tanggal_lahir' => date('Y-m-d',strtotime($this->request->getPost('tanggal_lahir'))),
|
|
];
|
|
$m_staff->edit($data);
|
|
}else{
|
|
$data = [ 'id_staff' => $id_staff,
|
|
'id_user' => $this->session->get('id_user'),
|
|
'id_kategori_staff' => $this->request->getPost('id_kategori_staff'),
|
|
'urutan' => $this->request->getPost('urutan'),
|
|
'nama' => $this->request->getPost('nama'),
|
|
'jenis_kelamin' => $this->request->getPost('jenis_kelamin'),
|
|
'jabatan' => $this->request->getPost('jabatan'),
|
|
'alamat' => $this->request->getPost('alamat'),
|
|
'telepon' => $this->request->getPost('telepon'),
|
|
'website' => $this->request->getPost('website'),
|
|
'email' => $this->request->getPost('email'),
|
|
'keahlian' => $this->request->getPost('keahlian'),
|
|
// 'gambar' => $namabaru,
|
|
'status_staff' => $this->request->getPost('status_staff'),
|
|
'tempat_lahir' => $this->request->getPost('tempat_lahir'),
|
|
'tanggal_lahir' => date('Y-m-d',strtotime($this->request->getPost('tanggal_lahir'))),
|
|
];
|
|
$m_staff->edit($data);
|
|
}
|
|
$this->session->setFlashdata('sukses','Data telah diupdate');
|
|
return redirect()->to(base_url('wali_kelas/akun#staff'));
|
|
}
|
|
// end update user
|
|
}
|
|
$data = [ 'title' => 'Profil Saya',
|
|
'user' => $user,
|
|
'staff' => $staff,
|
|
'kategori_staff'=> $kategori_staff,
|
|
'content' => 'wali_kelas/akun/index'
|
|
];
|
|
echo view('wali_kelas/layout/wrapper',$data);
|
|
|
|
}
|
|
} |