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

class Loginsignin extends MY_Controller {


    public function __construct()
    {
        parent::__construct();
        $this->load->model("imageupload_model");
        $this->load->model("uyeler_model");
    }

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

        $this->load->helper('text_helper');
       

        $this->load->model('kategoriler_model');
        $itemsKategori = $this->kategoriler_model->get_all
        (
            array
            (
                "isActive" => 1
            ), "rank ASC"
        );

        $markalar = $this->imageupload_model->get_all
        (
            array
            (                   
                "kind" => "markalar",
                "isActive"   => 1
            ), "rank ASC"
        );

     

        $viewData->markalar     = $markalar;
        $viewData->kategori     = $itemsKategori;
        $viewData->sayfa        = "anasayfa";
        $viewData->nerdengeliyorum = "";
        $viewData->dea            = $this->dolar_efektif_alis; 
        $viewData->eea            = $this->euro_efektif_alis; 
        $viewData->des            = $this->dolar_efektif_satis;
        $viewData->ees            = $this->euro_efektif_satis;
        $viewData->urunler_footer = $this->urunler_footer;

        $this->load->view('uyeol', $viewData);
	}


    public function uye_ol_kayit ()
    {
        $this->load->library("form_validation");

       //kurallar yazılır
        $this->form_validation->set_rules("ad", "Ad", "required|trim");
        $this->form_validation->set_rules("eposta", "E-Posta", "required|trim|valid_email|is_unique[uyeler.eposta]");
        $this->form_validation->set_rules("telefon", "Telefon", "required|trim|numeric");
        $this->form_validation->set_rules("firma", "Firma", "required|trim");
        $this->form_validation->set_rules("sifre", "Şifre", "required|trim|min_length[6]|alpha_numeric");


        $this->form_validation->set_message
        (
            array
            (
                "required"      => "<strong>{field}</strong> alanı boş bırakılamaz",
                "is_unique"     => "<strong>{field}</strong> ile Kayıt var",
                "valid_email"   => "Geçersiz <strong>E-Popsta</strong> Adresi",
                "min_length"    => "<strong>{field}</strong> alanına en az 6 karakter girmelisiniz",
                "numeric"       => "<strong>{field}</strong> alanına sadece rakam yazabilirsiniz"
            )
        );

        //form validation çalıştırılı
        $validate = $this->form_validation->run();
        //başarılı ise kayıt işlemi başlar
        if ($validate)
        {
            $this->load->model('uyeler_model');

            $ekle = $this->uyeler_model->add (
                array
                (
                    "adsoyad"   => $this->security->xss_clean($this->input->post("ad")),
                    "firma"     => $this->security->xss_clean($this->input->post("firma")),
                    "eposta"    => $this->security->xss_clean($this->input->post("eposta")),
                    "telefon"   => $this->security->xss_clean($this->input->post("telefon")),
                    "sifre"     => md5($this->security->xss_clean($this->input->post("sifre"))),
                    "addDate"   => date("Y-m-d H:i:s"),
                    "isactive"  => 0
                )
            );

            if ($ekle)
            {
                $alert = array
                (
                    "mesaj"  => "Kayıt İşlemi Başarı ile Yapıldı "
                );
            }

            else {
                $alert = array
                (
                    "mesaj"  => "İşlem Başarısız"
                );
            }
            //İşlemin sonucunu sessiona yazma işlemi...
            $this->session->set_flashdata("alert", $alert);
            redirect(base_url("uye-ol"));
        }
        else
        {
            $viewData = new stdClass();
            $this->load->model('kategoriler_model');
            $itemsKategori = $this->kategoriler_model->get_all
            (
                array
                (
                    "ustid" => 0,
                    "isActive" => 1
                ), "rank ASC"
            );

            

            $markalar = $this->imageupload_model->get_all
            (
                array
                (
                   "kind" => "markalar",
                   "isActive"   => 1
                ), "rank ASC"
            );

     

            $viewData->markalar     = $markalar;
            $viewData->kategori     = $itemsKategori;
            $viewData->form_hatasi  = true;
            $viewData->sayfa        = "anasayfa";
            $viewData->nerdengeliyorum = "";
            $viewData->dea            = $this->dolar_efektif_alis; 
            $viewData->eea            = $this->euro_efektif_alis; 
            $viewData->des            = $this->dolar_efektif_satis;
            $viewData->ees            = $this->euro_efektif_satis;
            $viewData->urunler_footer = $this->urunler_footer;

            $this->load->view('uyeol', $viewData);
        }
    }



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

        $this->load->helper('text_helper');
       

        $this->load->model('kategoriler_model');
        $itemsKategori = $this->kategoriler_model->get_all
        (
            array
            (
            	"ustid" => 0,
                "isActive" => 1
            ), "rank ASC"
        );



        $markalar = $this->imageupload_model->get_all
        (
            array
            (
               "kind" => "markalar",
               "isActive"   => 1
            ), "rank ASC"
        );

    
        $viewData->markalar     = $markalar;
        $viewData->kategori     = $itemsKategori;
        $viewData->sayfa        = "anasayfa";
        $viewData->nerdengeliyorum = "";
        $viewData->dea            = $this->dolar_efektif_alis; 
        $viewData->eea            = $this->euro_efektif_alis; 
        $viewData->des            = $this->dolar_efektif_satis;
        $viewData->ees            = $this->euro_efektif_satis;
        $viewData->urunler_footer = $this->urunler_footer;

        $this->load->view('uyegirisi', $viewData);
    }


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

        if (get_active_user()) { redirect(base_url("ana-sayfa")); }

        $this->load->library("form_validation");

        //kurallar yazılır
        $this->form_validation->set_rules("username", "Kullanıcı Adı", "required|trim");
        $this->form_validation->set_rules("userpass", "Şifre", "required|trim|min_length[6]");

        $this->form_validation->set_message(
            array(
                "required" => "<strong>{field}</strong> alanı boş bırakılamaz",
                "min_length" => "Şifreniz En az 6 karakterden oluşmalı",
            )
        );

        if ($this->form_validation->run() == FALSE)
        {

            $this->load->model('kategoriler_model');
            $itemsKategori = $this->kategoriler_model->get_all
            (
                array
                (
                	"ustid" => 0,
                    "isActive" => 1
                ), "rank ASC"
            );

            $markalar = $this->imageupload_model->get_all
            (
                array
                (
                   "kind" => "markalar",
                   "isActive"   => 1
                ), "rank ASC"
            );

     

            $viewData->markalar     = $markalar;
            $viewData->kategori     = $itemsKategori;
            $viewData->sayfa        = "anasayfa";
            $viewData->form_hatasi  = true;
            $viewData->nerdengeliyorum = "";
            $viewData->dea            = $this->dolar_efektif_alis; 
            $viewData->eea            = $this->euro_efektif_alis; 
            $viewData->des            = $this->dolar_efektif_satis;
            $viewData->ees            = $this->euro_efektif_satis;
            $viewData->urunler_footer = $this->urunler_footer;

            $this->load->view('uyegirisi', $viewData);

            //redirect(base_url("login"));
        }

        else
        {
            $this->load->model('uyeler_model');
            $user = $this->uyeler_model->get
            (
                array
                (
                    "eposta"    => $this->input->post("username"),
                    "sifre"     => md5($this->input->post("userpass")),
                    "isactive"  => 1
                )
            );

            if ($user)
            {
                $alert = array
                (
                    "mesaj"  => "$user->adsoyad Hoşgeldiniz "
                );

                $this->session->set_userdata("uye", $user);
                $this->session->set_flashdata("alert", $alert);

                redirect(base_url("ana-sayfa"));
            }

            else {
                $alert = array
                    (
                        "mesaj"  => "Sisteme Giriş Yapılamadı, Lütfen Giriş bilgilerinizi kontrol ediniz"
                    );

                    $this->session->set_flashdata("alert", $alert);
                    redirect(base_url("sign-in"));
            }
        }
    }



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

        $this->load->helper('text_helper');
       
        $user = get_active_user();

        if (!get_active_user()){
            redirect(base_url("sign-in"));
        }

        $this->load->model('kategoriler_model');
        $itemsKategori = $this->kategoriler_model->get_all
        (
            array
            (
            	"ustid" => 0,
                "isActive" => 1
            ), "rank ASC"
        );

        $this->load->model('uyeler_model');
        $uyebilgileri = $this->uyeler_model->get
        (
            array
            (
                "id"        => $user->id,
                "eposta"    => $user->eposta
            )
        );


        $markalar = $this->imageupload_model->get_all
        (
            array
            (
               "kind" => "markalar",
               "isActive"   => 1
            ), "rank ASC"
        );

     

        $viewData->markalar     = $markalar;
        $viewData->kategori     = $itemsKategori;
        $viewData->uyebilgi     = $uyebilgileri;
        $viewData->sayfa        = "anasayfa";
        $viewData->nerdengeliyorum = "";
        $viewData->dea            = $this->dolar_efektif_alis; 
        $viewData->eea            = $this->euro_efektif_alis; 
        $viewData->des            = $this->dolar_efektif_satis;
        $viewData->ees            = $this->euro_efektif_satis;
        $viewData->urunler_footer = $this->urunler_footer;

        $this->load->view('guncelle', $viewData);
    }


    public function guncelle ()
    {

        $user = get_active_user();

        $this->load->library("form_validation");

       //kurallar yazılır
        $this->form_validation->set_rules("ad", "Ad", "required|trim");
        $this->form_validation->set_rules("eposta", "E-Posta", "required|trim|valid_email");
        $this->form_validation->set_rules("telefon", "Telefon", "required|trim|numeric");
        $this->form_validation->set_rules("firma", "Firma", "required|trim");
        
        if ($this->input->post("sifre") <> "") { $this->form_validation->set_rules("sifre", "Şifre", "required|trim|min_length[6]|alpha_numeric");}


        $this->form_validation->set_message
        (
            array
            (
                "required"      => "<strong>{field}</strong> alanı boş bırakılamaz",
                "is_unique"     => "<strong>{field}</strong> ile Kayıt var",
                "valid_email"   => "Geçersiz <strong>E-Popsta</strong> Adresi",
                "min_length"    => "<strong>{field}</strong> alanına en az 6 karakter girmelisiniz",
                "numeric"       => "<strong>{field}</strong> alanına sadece rakam yazabilirsiniz"
            )
        );

        //form validation çalıştırılı
        $validate = $this->form_validation->run();
        //başarılı ise kayıt işlemi başlar
        if ($validate)
        {
            $this->load->model('uyeler_model');

                if ($this->input->post("sifre") <> "")
                {
                    $ekle = $this->uyeler_model->update
                    (
                        array
                        (
                            "id"        => $user->id,
                            "eposta"    => $user->eposta
                        ),
                        array
                        (
                            "adsoyad"   => $this->security->xss_clean($this->input->post("ad")),
                            "firma"     => $this->security->xss_clean($this->input->post("firma")),
                            "eposta"    => $this->security->xss_clean($this->input->post("eposta")),
                            "telefon"   => $this->security->xss_clean($this->input->post("telefon")),
                            "sifre"     => md5($this->security->xss_clean($this->input->post("sifre"))),
                            "updateDate"   => date("Y-m-d H:i:s")
                        )
                    );
                }
                else 
                {
                    $ekle = $this->uyeler_model->update
                    (
                        array
                        (
                            "id"        => $user->id,
                            "eposta"    => $user->eposta
                        ),

                        array
                        (
                            "adsoyad"   => $this->security->xss_clean($this->input->post("ad")),
                            "firma"     => $this->security->xss_clean($this->input->post("firma")),
                            "eposta"    => $this->security->xss_clean($this->input->post("eposta")),
                            "telefon"   => $this->security->xss_clean($this->input->post("telefon")),
                            "updateDate"   => date("Y-m-d H:i:s")
                        ) 
                    ); 
                };

            if ($ekle)
            {
                $alert = array
                (
                    "mesaj"  => "Güncelleme İşlemi Başarı ile Yapıldı "
                );
            }

            else {
                $alert = array
                (
                    "mesaj"  => "İşlem Başarısız"
                );
            }
            //İşlemin sonucunu sessiona yazma işlemi...
            $this->session->set_flashdata("alert", $alert);
            redirect(base_url("guncelleme-formu"));
        }
        else
        {
            $viewData = new stdClass(); 
        

        $this->load->helper('text_helper');
       
        $user = get_active_user();

        $this->load->model('kategoriler_model');
        $itemsKategori = $this->kategoriler_model->get_all
        (
            array
            (
            	"ustid" => 0,
                "isActive" => 1
            ), "rank ASC"
        );

        $this->load->model('uyeler_model');
        $uyebilgileri = $this->uyeler_model->get
        (
            array
            (
                "id"        => $user->id,
                "eposta"    => $user->eposta
            )
        );


        $markalar = $this->imageupload_model->get_all
        (
            array
            (
               "kind" => "markalar",
               "isActive"   => 1
            ), "rank ASC"
        );

     

        $viewData->markalar     = $markalar;
        $viewData->kategori     = $itemsKategori;
        $viewData->uyebilgi     = $uyebilgileri;
        $viewData->sayfa        = "anasayfa";
        $viewData->form_hatasi  = TRUE;
        $viewData->nerdengeliyorum = "";
        $viewData->dea            = $this->dolar_efektif_alis; 
        $viewData->eea            = $this->euro_efektif_alis; 
        $viewData->des            = $this->dolar_efektif_satis;
        $viewData->ees            = $this->euro_efektif_satis;
        $viewData->urunler_footer = $this->urunler_footer;

            $this->load->view('guncelle', $viewData);
        }
    }



    public function logout()
    {
        $this->session->unset_userdata("uye");
        redirect("sign-in");
    }


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

        $this->load->helper('text_helper');
       

        $this->load->model('kategoriler_model');
        $itemsKategori = $this->kategoriler_model->get_all
        (
            array
            (
            	"ustid" => 0,
                "isActive" => 1
            ), "rank ASC"
        );


        $markalar = $this->imageupload_model->get_all
        (
            array
            (
               "kind" => "markalar",
               "isActive"   => 1
            ), "rank ASC"
        );

     

        $viewData->markalar     = $markalar;
        $viewData->kategori     = $itemsKategori;
        $viewData->sayfa        = "anasayfa";
        $viewData->nerdengeliyorum = "";
        $viewData->dea            = $this->dolar_efektif_alis; 
        $viewData->eea            = $this->euro_efektif_alis; 
        $viewData->des            = $this->dolar_efektif_satis;
        $viewData->ees            = $this->euro_efektif_satis;
        $viewData->urunler_footer = $this->urunler_footer;

        $this->load->view('sifremiunuttum', $viewData);
    }


    public function sifremi_unuttum()
    {

        $user = get_active_user();

        $this->load->library("form_validation");

        //kurallar yazılır
        $this->form_validation->set_rules("username", "E-Posta", "required|trim|valid_email");

        $this->form_validation->set_message(
            array(
                "required" => "<strong>{field}</strong> alanı boş bırakılamaz",
                "valid_email" => "Hatalı E-Posta Adresi",
            )
        );

        if ($this->form_validation->run() == FALSE)
        {

            $this->load->model('kategoriler_model');
            $itemsKategori = $this->kategoriler_model->get_all
            (
                array
                (
                	"ustid" => 0,
                    "isActive" => 1
                ), "rank ASC"
            );

            $markalar = $this->imageupload_model->get_all
            (
                array
                (
                   "kind" => "markalar",
                   "isActive"   => 1
                ), "rank ASC"
            );

         

            $viewData->markalar     = $markalar;
            $viewData->kategori     = $itemsKategori;
            $viewData->sayfa        = "anasayfa";
            $viewData->form_hatasi  = true;
            $viewData->nerdengeliyorum = "";
            $viewData->dea            = $this->dolar_efektif_alis; 
            $viewData->eea            = $this->euro_efektif_alis; 
            $viewData->des            = $this->dolar_efektif_satis;
            $viewData->ees            = $this->euro_efektif_satis;
            $viewData->urunler_footer = $this->urunler_footer;
            
            $this->load->view('sifremiunuttum', $viewData);

            //redirect(base_url("login"));
        }
        else
        {
            $eposta = $this->security->xss_clean($this->input->post("username"));

            $user = $this->uyeler_model->get(
                array
                (
                    "isactive"  => 1,
                    "eposta"    => $eposta
                )
            );
            
            if ($user)
            {
                $geciciSifre = sifre_uretici(8);

                $send = mail_send($user->eposta, "Şifremi Unuttum", "Panele geçici olarak <b>{$geciciSifre}</b> geçicisi şifresi ile giriş yapabilirsiniz. <br />Lütfen Sisteme giriş yaptıkran sonra şifrenizi değiştirmeyi unutmayın.");

                if ($send)
                {
                    $user = $this->uyeler_model->update (
                        array (
                            "id" => $user->id
                        ),

                        array (
                            "sifre" => md5($geciciSifre)
                        )
                    );

                    $alert = array
                    (
                        "mesaj"  => "Şifreniz başarılı bir şekilde sıfırlanarak mail adresinize gönderilmiştir"
                    );
                    $this->session->set_flashdata("alert", $alert);
                    redirect(base_url("sign-in"));
                    die();
                }
                else {
                    $alert = array
                    (
                        "mesaj"  => "Bir hata meydana geldi, Lütfen daha sonra tekrar deneyiniz"
                    );
                    $this->session->set_flashdata("alert", $alert);
                    redirect(base_url("sifremi-unuttum-formu"));
                }
            }
            
            else
            {
                $alert = array
                (
                    "mesaj"  => "E-Posta Adresi bulunamadı, Lütfen doğru yazdığınızdan emin olun"
                );
                $this->session->set_flashdata("alert", $alert);
                redirect(base_url("sifremi-unuttum-formu"));
            }
        }
    }
}
