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

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

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

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

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

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

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

        if ($this->input->post("searchword") == "") {
            $items = $this->subeler_model->get_all(
                array(), "id ASC"
            );
            $viewData->aramaVar = "hayir";
        }
        else {
            $viewData->aramaVar = "evet";
            $items = $this->subeler_model->get_all_like(
                array(
                    "baslik"    => $this->input->post("searchword")
                ), "id DESC"
            );
        }
        $viewData->viewFolder = $this->viewFolder;
        $viewData->viewTitle = "Şubeler";
        $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 = "Şubeler";
        $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_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)
        {
                $ekle = $this->subeler_model->add (
                    array
                    (
                        "subeadi"   => $this->security->xss_clean($this->input->post("title")),
                        "telefon"   => $this->security->xss_clean($this->input->post("phone1")),
                        "faks"      => $this->security->xss_clean($this->input->post("faks")),
                        "eposta"    => $this->security->xss_clean($this->input->post("eposta")),
                        "adres"     => $this->security->xss_clean($this->input->post("adres")),
                        "telefon2"  => $this->security->xss_clean($this->input->post("phone2")),
                        "telefon3"  => $this->security->xss_clean($this->input->post("phone3"))
                    )
                );
                //$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("subeler"));
        }

        //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 = "Şubeler";
                $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->subeler_model->get
        (
            array
            (
                "id"    => $id
            )
        );
        $viewData->viewFolder = $this->viewFolder;
        $viewData->subViewFolder = "update";
        $viewData->item = $items;
        $viewData->viewTitle = "Şubeler";
        $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_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)
        {
            $guncelle = $this->subeler_model->update(
                array (
                    "id" => $id
                ),
                array
                (
                    "subeadi"   => $this->security->xss_clean($this->input->post("title")),
                    "telefon"   => $this->security->xss_clean($this->input->post("phone1")),
                    "faks"      => $this->security->xss_clean($this->input->post("faks")),
                    "eposta"    => $this->security->xss_clean($this->input->post("eposta")),
                    "adres"     => $this->security->xss_clean($this->input->post("adres")),
                    "telefon2"  => $this->security->xss_clean($this->input->post("phone2")),
                    "telefon3"  => $this->security->xss_clean($this->input->post("phone3"))
                )
            );
            //$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("subeler"));
        }

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

    }

    /*KAYIT SİLME İŞLEMLERİ*/
    public function veriSil ($id)
    {
        $delete = $this->subeler_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("subeler"));
    }

    /*AKTİF PSAİF İŞLEMLERİ*/
    public function veriAktifPasif ($id)
    {
        if ($id)
        {
            $isActive = ($this->input->post("data") == "true") ? 1 : 0;
            $this->subeler_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->subeler_model->update(
                array (
                    "id"        => $id,
                    "rank !="   =>$rank
                ),
                array (
                    "rank" => $rank
                )
            );
        }
    }
}
