<?php



class cisler extends CI_Controller{
    function __construct()
    {
        parent::__construct();
        $this->load->model('Isler_model');
		// CI viewden controlleri calıstırmak için gerekli
		$CI = NULL;
		$this->CI = & get_instance();
		
		// Giris Yapılmamış ise logine gönderiyoruz..
		
		$userid =  $this->session->userdata('userid');
        if(empty($userid))     
        {    
		redirect('login');
        }
		
    } 

	
    /*
     * Listing of isler
     */
    function havuz()
    {
		
		$useryetki = $this->session->userdata('useryetki');		
		$data['isler'] = $this->db->query("SELECT * FROM  isler WHERE  istur=$useryetki AND yapan=0 AND onay!=3 ORDER BY acil ASC")->result_array();
   
		
		//anlık kontrol aktifleştirme
        $data['sayfaad'] = 'calisan_havuz';
        $data['anlikkontrol'] = 1;
		
	
        $data['_view'] = 'cisler/havuz';
        $this->load->view('layouts/main',$data);
    }
	
   function bende()
    {
		
		$userid = $this->session->userdata('userid');		
		$data['isler'] = $this->db->query("SELECT * FROM  isler WHERE  yapan=$userid AND onay!=3 AND onay!=4  ORDER BY acil ASC ")->result_array();
    
		
		//anlık kontrol aktifleştirme
        $data['sayfaad'] = 'calisan_bende';
        $data['anlikkontrol'] = 1;
		

        $data['_view'] = 'cisler/bende';
        $this->load->view('layouts/main',$data);
    }
	
	function calismagonder($isid)
    {
		
        $data['isler'] = $this->Isler_model->get_isler($isid);

        $data['_view'] = 'cisler/calismagonder';
        $this->load->view('layouts/main',$data);
    }
	
	function tamamlanan()
    {
		
	
		$userid = $this->session->userdata('userid');		
		$data['isler'] = $this->db->query("SELECT * FROM  isler WHERE  yapan=$userid AND onay=3 ORDER BY id DESC")->result_array();
   
		
		//anlık kontrol aktifleştirme
        $data['sayfaad'] = 'calisan_tamam';
        $data['anlikkontrol'] = 1;
		
		
        $data['_view'] = 'cisler/tamam';
        $this->load->view('layouts/main',$data);
    }
	

	function al($id)
    {   
	
		$userid =  $this->session->userdata('userid');
		$this->load->model('Isler_model');
        $data['isler'] = $this->Isler_model->get_isler($id);
		
        //is daha önce alınmışsa alamaz
		if($data['isler']['yapan']!=0)
		{
		redirect('cisler/havuz?hata=1');
		}
		
			//çalışanın elinde işleri çekip kontrol edicez
			$calisanisler = $this->Isler_model->get_calisan_isler($userid);

			//yeni işi ve yapılan işi varsa yeni iş alamaz
			if($calisanisler['yen']>0 || $calisanisler['yap']>0 || $calisanisler['rev']>=4)
			{
			redirect('cisler/havuz?hata=2');
			}

				if(isset($data['isler']['id']))
				{
					
						//bildirim ekliyoruz
						$yapan=$userid;
						$isid=$data['isler']['id'];
						
						$this->bildirim_ekle($yapan,$isid);		
					
					
						$params = array(
							'yapan' => $userid,
							'onay' => 1,
						);

						$this->Isler_model->update_isler($id,$params);    
						
						// Revizeli İşi 4 den az ise uyarı verip işi verecek
						
						if($calisanisler['rev']<4 ){
							redirect('cisler/bende?hata=3');
						}else{
							redirect('cisler/bende');
							
						}
				}
				else{
					show_error('Bu Şekilde Bir İŞ bulunamıyor.');
				}
		
    }
	
	function detay($id)
    {
		
        $data['isler'] = $this->Isler_model->get_isler($id);
		
		$this->load->model('Calisan_model');
		$data['calisan'] = $this->Calisan_model->get_calisan($data['isler']['yapan']);
		$data['ekleyen'] = $this->Calisan_model->get_calisan($data['isler']['ekleyen']);
		
		$this->load->model('Musteri_model');
		$data['musteri'] = $this->Musteri_model->get_musteri($data['isler']['musteri']);
		
		//mesajlar için
		$data['seciliis'] = $id;
	
	
		
        $data['_view'] = 'isler/detay';
        $this->load->view('layouts/main',$data);
    }
	
	
	
	function bildirim_ekle($yapan,$isid)
    {  
	

								// Bildirim ekliyoruz..
								// kime bölümü 0 ise calisandaki iş grubuna bildirim atar
								// kime bölümü 1 ise calisandaki kişiye bilidirim atar
								// kime bölümü 2 ise tüm çalışanlara bildirim atar 
								
								//yapan adını alıcaz iş turunu alıcaz müşteri adını alıcaz admine bildirim atıcaz
								
								// iş bilgilerini alıyoruz
								$this->load->model('Isler_model'); 
								$is = $this->Isler_model->get_isler($isid);
								
								//Çalışanın Adını Alıyoruz
								$this->load->model('Calisan_model'); 
								$calisanad = $this->Calisan_model->get_calisan_ad($yapan);
								$calisanprofil = $this->Calisan_model->get_calisan_profil($yapan);
								
								
								//işur  Adını Alıyoruz
								$this->load->model('Calisantur_model'); 
								$isad = $this->Calisantur_model->get_calisantur_ad($is['istur']);
								
								//müşteri Adını Alıyoruz
								$this->load->model('Musteri_model'); 
								$musteriad = $this->Musteri_model->get_musteri_ad($is['musteri']);
								$musteriad = ekgetir($musteriad);
								
								
								// yöneticilere atıyoruz
								$bildirim = array(
									'kime' => 0,
									'calisan' => 1,
									'icon' => $calisanprofil,
									'bildirim' => $musteriad. '  işini '.$calisanad.' aldı',
									'tarih' => date("d.m.Y  H:i"),
									'yon' => 'isler/detay/'.$is['id'],
									'gor' => 0,
									'okun' => 0,
								);
								
								$this->load->model('Bildirim_model');
								$this->Bildirim_model->add_bildirim($bildirim);
	
	
	
	}
	
	function bildirim_ekle2($isid)
    {  
	

								// Bildirim ekliyoruz..
								// kime bölümü 0 ise calisandaki iş grubuna bildirim atar
								// kime bölümü 1 ise calisandaki kişiye bilidirim atar
								// kime bölümü 2 ise tüm çalışanlara bildirim atar 
								
								//yapan adını alıcaz iş turunu alıcaz müşteri adını alıcaz admine bildirim atıcaz
								
								// iş bilgilerini alıyoruz
								$this->load->model('Isler_model'); 
								$is = $this->Isler_model->get_isler($isid);
								
								//Çalışanın Adını Alıyoruz
								$this->load->model('Calisan_model'); 
								$calisanad = $this->Calisan_model->get_calisan_ad($is['yapan']);
								$calisanprofil = $this->Calisan_model->get_calisan_profil($is['yapan']);
								
								//işur  Adını Alıyoruz
								$this->load->model('Calisantur_model'); 
								$isad = $this->Calisantur_model->get_calisantur_ad($is['istur']);
								
								//müşteri Adını Alıyoruz
								$this->load->model('Musteri_model'); 
								$musteriad = $this->Musteri_model->get_musteri_ad($is['musteri']);
								$musteriad = ekgetir($musteriad);
								
								
								
								$bildirim = array(
									'kime' => 0,
									'calisan' => 1,
									'icon' => $calisanprofil,
									'bildirim' => $musteriad. ' işine '.$calisanad.' yeni çalışma ekledi',
									'tarih' => date("d.m.Y  H:i"),
									'yon' => 'isler/detay/'.$is['id'],
									'gor' => 0,
									'okun' => 0,
								);
								
								$this->load->model('Bildirim_model');
								$this->Bildirim_model->add_bildirim($bildirim);
	
	
	
	}
	
	
		//Çalışma Gönderiyoruz
	function isgonder()
	{
		 $isid=$this->input->post('isid');
		 
	      $data = array();
	      if (!empty($_FILES['file']['name'])) {
						
						//is dosyalarını çekiyoruz
						$this->db->where('id', $isid);
						$query = $this->db->get('isler')->row_array();
						
						$musteri= $query['musteri'];
						$calisan= $this->session->userdata('userid');
						$istur= $query['istur'];
						
						$dosyaadi=dosyaadver($musteri,$istur,$calisan);
			  
			  
			  
	          $filesCount = count($_FILES['file']['name']);
	          for ($i = 0; $i < $filesCount; $i++) {
	              $_FILES['uploadFile']['name'] = str_replace(",","_",$_FILES['file']['name'][$i]);
	              $_FILES['uploadFile']['type'] = $_FILES['file']['type'][$i];
	              $_FILES['uploadFile']['tmp_name'] = $_FILES['file']['tmp_name'][$i];
	              $_FILES['uploadFile']['error'] = $_FILES['file']['error'][$i];
	              $_FILES['uploadFile']['size'] = $_FILES['file']['size'][$i];
	              //Directory where files will be uploaded
	              $uploadPath = 'uploads/';
	              $config['upload_path'] = $uploadPath;
	              // Specifying the file formats that are supported.
	              $config['allowed_types'] = 'gif|jpg|png|pdf|rar|zip|mp4|mov|avi';
				  $config['max_size']	= '1000000000000000';
				  $config['file_name']   = $dosyaadi.'-g-'.uniqid();
				  $config['overwrite'] = TRUE;
				  
	              $this->load->library('upload', $config);
	              $this->upload->initialize($config);
	              if ($this->upload->do_upload('uploadFile')) {
	                  $fileData = $this->upload->data();
	                  $uploadData[$i]['file_name'] = $fileData['file_name'];
	              }
	          }
	          if (!empty($uploadData)) {
	              $list=array();
	              foreach ($uploadData as $value) {
	                  array_push($list, $value['file_name']);
	              }
					
					
						//Eski Dosyayı Bulup Yeni Dosyalarla Birleştiriyoruz
								 
						$this->db->where('id', $isid);
						$query = $this->db->get('isler')->row_array();
						$eskidosyaadi= $query['dosyadonen'];
						if($eskidosyaadi!="null" &&  $eskidosyaadi!=null  && isset($eskidosyaadi))
						{
							// eger eskiden dosya varsa yeni dosyaları ekliyoruz
							$yenidosya=$list;
							$eskidosyalar=json_decode($eskidosyaadi);
							$dosyabaski=array_merge($eskidosyalar, $yenidosya);
						
							$dosyabaski=json_encode($dosyabaski);
						}else{
							// eger eskiden dosya yoksa direk yazdırıyoruz
							$dosyabaski=json_encode($list);
						};
					
					$params = array(
					'dosyadonen' => $dosyabaski,
					'onay' => 2,
					);
					$this->Isler_model->update_isler($isid,$params); 
										
					$this->bildirim_ekle2($isid);		
				  
					echo json_encode($list);
	      	}
	    }
	}
	
	//İşteki giden dosyaları silme
    function donendosyasil()
    {
		
	$isid=$this->uri->segment(3);	
	$silinecekdosya=$this->uri->segment(4);	
	
	//Eski Dosyayı çekiyoruz							 
	$this->db->where('id', $isid);
	$query = $this->db->get('isler')->row_array();
	$eskidosyaadi= $query['dosyadonen'];
		if(isset($eskidosyaadi))
		{
				$dosyalar=json_decode($eskidosyaadi);
				$yenidosyalar;
				foreach($dosyalar as $d)
					{ 
						if($d==$silinecekdosya)
						{
							unlink('uploads/'.$d);	
						}else{
							
							$yenidosyalar[]=$d;	
						}	
					};	
		};
		
		$yenidosyalarbaski=json_encode($yenidosyalar);
		$params = array(
					'dosyadonen' => $yenidosyalarbaski,
		);
		$this->Isler_model->update_isler($isid,$params);  		
        redirect('cisler/calismagonder/'.$isid); 
	}
	
}