<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Promotion_setting extends MY_BackendController
{
    public function __construct()
    {
        parent::__construct();
    }

    public function index()
    {
        $this->load->model('Promotion_setting_model');

        $data['item'] = $this->Promotion_setting_model->detail();
        $data['item']['image_url'] = base_url() . $this->Promotion_setting_model->get_path() . '/' . $data['item']['filename'];

        $this->view('backend/promotion_setting/index', $data);
    }

    public function save()
    {
        $this->load->model('Promotion_setting_model');
        $upload = $this->do_upload();
        if ($_FILES['fileToUpload']['size'] == 0 && $_FILES['fileToUpload']['error'] == 4) {
        } else {
            $this->Promotion_setting_model->save([
                'filename' => $upload['filename'],
                'pathname' => $upload['pathname'],
            ]);
        }

        redirect('/promotion_setting');
    }


    public function do_upload()
    {
        $userId = $this->session->userdata('userid');
        $destination_path = getcwd() . '/' .  $this->Promotion_setting_model->get_path();
        if (!file_exists($destination_path)) {
            mkdir($destination_path, 0777, true);
        }
        $target_file = $destination_path . DIRECTORY_SEPARATOR . basename($_FILES["fileToUpload"]["name"]);
        $uploadOk = 1;
        $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
        $msg = '';
        // Check if image file is a actual image or fake image
        if (isset($_POST["submit"])) {
            $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
            if ($check !== false) {
                $msg = "File is an image - " . $check["mime"] . ".";
                $uploadOk = 1;
            } else {
                $msg = "File is not an image.";
                $uploadOk = 0;
            }
        }

        // Check if file already exists
        // if (file_exists($target_file)) {
        //     $msg = "Sorry, file already exists.";
        //     $uploadOk = 0;
        // }

        // Check file size
        //        if ($_FILES["fileToUpload"]["size"] > 500000) {
        //            $msg= "Sorry, your file is too large.";
        //            $uploadOk = 0;
        //        }
        // Allow certain file formats
        if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") {
            $msg = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
            $uploadOk = 0;
        }

        $filename = '';
        $pathname = '';
        // Check if $uploadOk is set to 0 by an error
        if ($uploadOk == 0) {
            $msg = "Sorry, your file was not uploaded.";
            // if everything is ok, try to upload file
        } else {
            if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
                $filename = basename($_FILES["fileToUpload"]["name"]);
                $pathname = '/promotion/' . $filename;
            } else {
                $msg = "Sorry, there was an error uploading your file.";
            }
        }
        //        log_message('debug', 'filename:'.$filename.';pathname:'.$pathname);
        return array('msg' => $msg, 'filename' => $filename, 'pathname' => $pathname);
    }
}
