<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Markalar extends CI_Controller
{
	public $viewFolder = "";

	public function __construct()
    {
        parent::__construct();
        $this->viewFolder = "markalar_v";

        $this->load->model("markalar_model");
        $this->load->model("imageupload_model");

        if (!get_active_user()){
            redirect(base_url("panel/login"));
        }
    }

	public function index ()
    {
        $viewData = new stdClass();

        /*Tablodan verilerin getirildiği satır*/

        if ($this->input->post("searchword") == "") {
            $items = $this->markalar_model->get_all(
                array(), "rank ASC"
            );
            $viewData->aramaVar = "hayir";
        }
        else {
            $viewData->aramaVar = "evet";
            $items = $this->markalar_model->get_all_like(
                array(
                    "baslik"    => $this->input->post("searchword")
                ), "rank ASC"
            );
        }
        $viewData->viewFolder = $this->viewFolder;
        $viewData->viewTitle = "Müşteriler";
        $viewData->items = $items;
        //$viewData->subViewFolder = "list";
        $this->load->view("{$viewData->viewFolder}/index", $viewData);
    }



    /*EKRANA BASILAN YNİ KAYIT FORMU*/
    public function yenikayitFormu()
    {
        $viewData = new stdClass();
        $viewData->viewFolder = $this->viewFolder;
        $viewData->subViewFolder = "add";
        $viewData->viewTitle = "Müşteriler";
        $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData);
    }

    /*yeni kayıt veritabanı ve form kontrol işlemleri yapılıyor*/
    public function formKaydet()
    {
        $this->load->library("form_validation");

        //kurallar yazılır
        $this->form_validation->set_rules("title", "Başlık", "required|trim");
        $this->form_validation->set_rules("aciklama", "Açıklama", "required|trim");

        $this->form_validation->set_message(
            array(
                "required" => "<strong>{field}</strong> Alanını Doldurunuz / Seçiniz",
                "is_unique" => "<strong>{field}</strong> ile Kayıt var"
            )
        );
        //form validation çalıştırılı
        $validate = $this->form_validation->run();

        //başarılı ise kayıt işlemi başlar
        if ($validate)
        {
            if (isset($_FILES["file"]["name"]))
            {
                $turkcemarka = turkceYap($this->input->post("title"));
                $yenidosyaismi = $turkcemarka."_".date("YmdHis");
                $file_ext = pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION); // codeigniter dosya uzantısı alma işlemi
                $newfileName = $yenidosyaismi.".".$file_ext; // uzantı ve isim birleştirilir

                $config["allowed_types"]    = "jpg|png|jpeg"; // kabul edilecek dosya tipleri
                $config["upload_path"]      = "uploads/$this->viewFolder/"; /*dosyanın yükleneceği dizin*/
                $config["file_name"]        = $newfileName;

                $this->load->library("upload", $config); /*upload libryisini ekliyoruz*/
                $upload = $this->upload->do_upload("file");

                $uploaded_file  =   $this->upload->data("file_name"); /*upload edilen resmin ismini alıyoruz*/
            }

                $ekle = $this->markalar_model->add (
                    array
                    (
                        "baslik"    => $this->security->xss_clean($this->input->post("title")),
                        "aciklama"  => $this->security->xss_clean($this->input->post("aciklama")),
                        "digersayfa"=> $this->security->xss_clean($this->input->post("farkliadres")),
                        "pagetitle" => $this->security->xss_clean($this->input->post("pagetitle")),
                        "resim"     => $uploaded_file,
                        "metadesc"  => $this->security->xss_clean($this->input->post("metadesc")),
                        "metakey"   => $this->security->xss_clean($this->input->post("metakey")),
                        "addDate"   => date("Y-m-d H:i:s"),
                        "addTime"   => date("H:i:s"),
                        "isactive"  => 1
                    )
                );
                //$soneklenenId = $this->db->insert_id();

                if ($ekle)
                {
                    $alert = array
                    (
                        "text"  => "Kayıt İşlemi Başarı ile Yapıldı ",
                        "type"  => "success"
                    );
                }
                else {
                    $alert = array
                    (
                        "text"  => "İşlem Başarısız",
                        "type"  => "alert"
                    );
                }
                //İşlemin sonucunu sessiona yazma işlemi...
                $this->session->set_flashdata("alert", $alert);
                redirect(base_url("backend/markalar"));
        }

        //formda boşluklar yada şarta uymayan bişey varsa ekrana hata basılır
        else
            {
                $viewData = new stdClass();
                $viewData->viewFolder = $this->viewFolder;
                $viewData->subViewFolder = "add";
                $viewData->form_hatasi = true;
                $viewData->viewTitle = "Müşteriler";
                $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData);
            }

    }

    /*kayıt güncelleme formunu ekrana basan fonksiyon*/
    public function guncellemeFormu($id)
    {
        $viewData = new stdClass();
        $items = $this->markalar_model->get
        (
            array
            (
                "id"    => $id
            )
        );
        $viewData->viewFolder = $this->viewFolder;
        $viewData->subViewFolder = "update";
        $viewData->item = $items;
        $viewData->viewTitle = "Müşteriler";
        $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData);
    }

    /*güncelleme islemleri*/
    public function guncellemeformKaydet($id)
    {
        $this->load->library("form_validation");

        //kurallar yazılır
        $this->form_validation->set_rules("titlee", "Başlık", "required|trim");
        $this->form_validation->set_rules("aciklama", "Açıklama", "required|trim");

        $this->form_validation->set_message(
            array(
                "required" => "<strong>{field}</strong> Alanını Doldurunuz / Seçiniz",
                "is_unique" => "<strong>{field}</strong> ile Kayıt var"
            )
        );
        //form validation çalıştırılı
        $validate = $this->form_validation->run();

        //başarılı ise kayıt işlemi başlar
        if ($validate)
        {

            if ($_FILES["resim"]["name"] <> "")
            {
                $sehitisimsoyisim = turkceYap($this->input->post("titlee")); //mernisten ayrı ayrı gelen isim soyisim birleştiriyoruz
                $yenidosyaismi = $sehitisimsoyisim."_".$this->input->post("tckimlik"); //burada verielcek isim son halini alır.

                $file_ext = pathinfo($_FILES["resim"]["name"], PATHINFO_EXTENSION); // codeigniter dosya uzantısı alma işlemi
                $newfileName = $yenidosyaismi.".".$file_ext; // uzantı ve isim birleştirilir

                //ŞEHİT RESMİ YÜKLENİR...
                $config["allowed_types"]    = "jpg|png|jpeg"; // kabul edilecek dosya tipleri
                $config["upload_path"]      = "uploads/$this->viewFolder/"; /*dosyanın yükleneceği dizin*/
                $config["file_name"]        = $newfileName;

                $this->load->library("upload", $config); /*upload libryisini ekliyoruz*/
                $upload = $this->upload->do_upload("resim");//dosyayı upload ediyoruz...

                if ($upload) {$uploaded_file  =   $this->upload->data("file_name");}//dosya ismini alıyoruz...
            }
            else {$uploaded_file = $this->input->post("eskiresim");}
            
            $guncelle = $this->markalar_model->update(
                array (
                    "id" => $id
                ),
                array
                (
                    "baslik"        => $this->security->xss_clean($this->input->post("titlee")),
                    "aciklama"      => $this->security->xss_clean($this->input->post("aciklama")),
                    "digersayfa"    => $this->security->xss_clean($this->input->post("farkliadres")),
                    "pagetitle"     => $this->security->xss_clean($this->input->post("pagetitle")),
                    "metadesc"      => $this->security->xss_clean($this->input->post("metadesc")),
                    "metakey"       => $this->security->xss_clean($this->input->post("metakey")),
                    "resim"         => $uploaded_file,
                    "updateDate"    => date("Y-m-d H:i:s"),
                    "updateTime"    => date("H:i:s")
                )
            );
            //$soneklenenId = $this->db->insert_id();

            if ($guncelle)
            {
                $alert = array
                (
                    "text"  => "Güncelleme işlemi başarı ile gerçekleştirildi ",
                    "type"  => "success"
                );
            }
            else {
                $alert = array
                (
                    "text"  => "Güncelleme esnasında bir hata meydana geldi",
                    "type"  => "alert"
                );
            }
            //İşlemin sonucunu sessiona yazma işlemi...
            $this->session->set_flashdata("alert", $alert);
            redirect(base_url("backend/markalar"));
        }

        //formda boşluklar yada şarta uymayan bişey varsa ekrana hata basılır
        else
        {
            $viewData = new stdClass();
            $items = $this->markalar_model->get(
                array (
                    "id"        => $id
                )
            );
            $viewData->viewFolder = $this->viewFolder;
            $viewData->subViewFolder = "update";
            $viewData->form_hatasi = true;
            $viewData->item = $items;
            $viewData->viewTitle = "Müşteriler";
            $this->load->view("{$viewData->viewFolder}/{$viewData->subViewFolder}/index", $viewData);
        }

    }

    /*KAYIT SİLME İŞLEMLERİ*/
    public function veriSil ($id)
    {
        $delete = $this->markalar_model->delete(
            array(
                "id" => $id
            )
        );

        if ($delete)
        {
            $alert = array
            (
                "text"  => "Silme işlemi başarı ile gerçekleştirildi ",
                "type"  => "success"
            );
        }
        else
        {
            $alert = array
            (
                "text"  => "Silme işleminde bir hata meydana geldi",
                "type"  => "alert"
            );
        }

        $this->session->set_flashdata("alert", $alert);
        redirect(base_url("backend/markalar"));
    }

    /*AKTİF PSAİF İŞLEMLERİ*/
    public function veriAktifPasif ($id)
    {
        if ($id)
        {
            $isActive = ($this->input->post("data") == "true") ? 1 : 0;
            $this->markalar_model->update(
                array (
                    "id" => $id,
                ),
                array (
                    "isactive" => $isActive
                )
            );
        }
    }

    /*sıralama işlemleri*/
    public function veriSirala ()
    {
        $data = $this->input->post("data");
        parse_str($data, $order);
        $items = $order["ord"];

        foreach ($items as $rank => $id)
        {
            $this->markalar_model->update(
                array (
                    "id"        => $id,
                    "rank !="   =>$rank
                ),
                array (
                    "rank" => $rank
                )
            );
        }
    }




    /*AKTİF PSAİF İŞLEMLERİ*/
    public function AnasayfaGosterGizle ($id)
    {
        if ($id)
        {
            $isActive = ($this->input->post("data") == "true") ? 1 : 0;
            $this->markalar_model->update(
                array (
                    "id" => $id,
                ),
                array (
                    "anasayfadurum" => $isActive
                )
            );
        }
    }
}
