<?php

namespace App\Controllers\Admin;

use App\Models\Client_model;

class Client extends BaseController
{
    // mainpage
    public function index()
    {
        checklogin();
        $m_client = new Client_model();
        $client   = $m_client->listing();
        $total    = $m_client->total();

        $data = ['title' => 'Data Client: ' . $total['total'],
            'client'     => $client,
            'content'    => 'admin/client/index',
        ];
        echo view('admin/layout/wrapper', $data);
    }

    // edit
    public function edit($kd_toko)
    {
        checklogin();
        $m_client = new Client_model();
        
        // Start validasi
        if ($this->request->getMethod() === 'post' && $this->validate(
            [
                'nm_toko' => 'required',
                'foto' => [
                    'mime_in[foto,image/jpg,image/jpeg,image/gif,image/png]',
                ],
            ]
        )) {
            if (! empty($_FILES['foto']['name'])) {
                // Image upload
                $avatar   = $this->request->getFile('foto');
                $namabaru = str_replace(' ', '-', $avatar->getName());
                $avatar->move(WRITEPATH . '../assets/upload/client/', $namabaru);
                // Create thumb
                $image = \Config\Services::image()
                    ->withFile(WRITEPATH . '../assets/upload/client/' . $namabaru)
                    ->save(WRITEPATH . '../assets/upload/client/' . $namabaru);
                // masuk database
                // masuk database
                $data = ['kd_toko'  => $kd_toko,
                    'nm_toko'       =>$this->request->getPost('nm_toko'),
                    'almt_toko'     => $this->request->getPost('almt_toko'),
                    'foto'          => $namabaru,
                    'tlp_toko'      => $this->request->getPost('tlp_toko'),
                    'gmap'          => $this->request->getPost('gmap'),
                    'nowa'          => $this->request->getPost('nowa'),
                ];
                $m_client->edit($data);
                // masuk database
                $this->session->setFlashdata('sukses', 'Data telah disimpan');

                return redirect()->to(base_url('admin/client'));
            }
            // masuk database
            $data = ['kd_toko' => $kd_toko,
                    'nm_toko'        => $this->request->getPost('nm_toko'),
                    'almt_toko'   => $this->request->getPost('almt_toko'),
                    'tlp_toko'           => $this->request->getPost('tlp_toko'),
                    'gmap'       => $this->request->getPost('gmap'),
                    'nowa'         => $this->request->getPost('nowa'),
                ];
            $m_client->edit($data);
            // masuk database
            $this->session->setFlashdata('sukses', 'Data telah disimpan');

            return redirect()->to(base_url('admin/client'));
        }
    }
    // delete
    public function delete($id_client)
    {
        checklogin();
        $m_client = new Client_model();
        $data     = ['id_client' => $id_client];
        $m_client->delete($data);
        // masuk database
        $this->session->setFlashdata('sukses', 'Data telah dihapus');

        return redirect()->to(base_url('admin/client'));
    }
}
