<?php

namespace App\Controllers;

use App\Models\Karir_model;
use App\Models\Kategori_model;
use App\Models\Konfigurasi_model;

class karir extends BaseController
{
    
    // index
    public function index()
    {
        $m_konfigurasi = new Konfigurasi_model();
        $m_berita      = new Karir_model();
        $konfigurasi   = $m_konfigurasi->listing();
        $berita        = $m_berita->home();

        $data = ['title'  => 'Karir ' . $konfigurasi['namaweb'],
            'description' => 'Karir ' . $konfigurasi['namaweb'],
            'keywords'    => 'Karir ' . $konfigurasi['namaweb'],
            'berita'      => $berita,
            'content'     => '',
        ];
        return view('karir/index', $data);
    }

    // read
    public function read($slug_karir)
    {
        $m_konfigurasi = new Konfigurasi_model();
        $m_berita      = new Karir_model();
        $konfigurasi   = $m_konfigurasi->listing();
        $berita        = $m_berita->read($slug_karir);

        // Update hits
        $data = ['id_karir' => $berita['id_karir'],
            'hits'           => $berita['hits'] + 1,
        ];
        $m_berita->edit($data);
        // Update hits

        $data = ['title'  => $berita['judul_karir'],
            'description' => $berita['judul_karir'],
            'keywords'    => $berita['judul_karir'],
            'validation' => \Config\Services::validation(),
            'berita'      => $berita,
            'content'     => 'karir/read',
        ];
        return view('karir/read', $data);
    }

    // profil
    public function profil($slug_berita)
    {
        $m_konfigurasi = new Konfigurasi_model();
        $m_berita      = new Berita_model();
        $konfigurasi   = $m_konfigurasi->listing();
        $berita        = $m_berita->read($slug_berita);

        // Update hits
        $data = ['id_berita' => $berita['id_berita'],
            'hits'           => $berita['hits'] + 1,
        ];
        $m_berita->edit($data);
        // Update hits

        $data = ['title'  => $berita['judul_berita'],
            'description' => $berita['judul_berita'],
            'keywords'    => $berita['judul_berita'],
            'berita'      => $berita,
            'content'     => 'berita/profil',
        ];
        return view('berita/profil', $data);
    }

    // layanan
    public function layanan($slug_berita)
    {
        $m_konfigurasi = new Konfigurasi_model();
        $m_berita      = new Berita_model();
        $konfigurasi   = $m_konfigurasi->listing();
        $berita        = $m_berita->read($slug_berita);

        // Update hits
        $data = ['id_berita' => $berita['id_berita'],
            'hits'           => $berita['hits'] + 1,
        ];
        $m_berita->edit($data);
        // Update hits

        $data = ['title'  => $berita['judul_berita'],
            'description' => $berita['judul_berita'],
            'keywords'    => $berita['judul_berita'],
            'berita'      => $berita,
            'content'     => 'berita/layanan',
        ];
        return view('berita/layanan', $data);
    }

    // kategori
    public function kategori($slug_kategori)
    {
        $m_konfigurasi = new Konfigurasi_model();
        $m_berita      = new Berita_model();
        $m_kategori    = new Kategori_model();
        $konfigurasi   = $m_konfigurasi->listing();
        $kategori      = $m_kategori->read($slug_kategori);
        $berita        = $m_berita->kategori($kategori['id_kategori']);
        // Update hits
        $data = ['id_kategori' => $kategori['id_kategori'],
            'hits'             => $kategori['hits'] + 1,
        ];
        $m_kategori->edit($data);
        // Update hits

        $data = ['title'  => $kategori['nama_kategori'],
            'description' => $kategori['nama_kategori'],
            'keywords'    => $kategori['nama_kategori'],
            'kategori'    => $kategori,
            'berita'      => $berita,
            'content'     => 'berita/index',
        ];
        return view('berita/index', $data);
    }
    public function lamar()
    {
        $m_karir      = new Karir_model();
        
        // validasinya
        $rules= $this->validate([
            'nama' => 'required',
            'cv'    => 'uploaded[cv]|max_size[cv,4000]|mime_in[cv,image/png,image/jpg,image/jpeg,application/pdf]',
            'email' => 'required|valid_email',
            'nowa' => 'required|max_length[13]',
            'karir_id' => 'required',

        ]);

        // jika gagal
        if (!$rules) {
           session()->setFlashdata('failed','Gagal Upload Data');
           return redirect()->back()->withInput();
        }
        //Ambil foto
        $nama = $this->request->getPost('nama');
        $cv = $this->request->getFile('cv');
        $namacv = 'Berkas Lamaran_'.$nama.'_'.$cv->getName();

        //pindah file

        $cv->move(WRITEPATH. '../assets/upload/cv/', $namacv);

        $data = [
            'nama'      => $this->request->getPost('nama'),
            'nowa'      => $this->request->getPost('nowa'),
            'email'     => $this->request->getPost('email'),
            'karir_id'  => $this->request->getPost('karir_id'),
            'cv'        => $namacv,


        ];
        $m_karir->insertlamar($data);
        return redirect()->to(base_url('karir/index'))->with('success', 'Berhasil Upload Data Lamaran');
    }
}
