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

class Student_Profil extends CI_Controller {
    
    public function __construct()
    {
        parent::__construct();
        // Your own constructor code
		if(!$this->ion_auth->logged_in()) {
			redirect(base_url('StronaGlowna'));
		}
        $this->get_user();
        $this->get_user_level();
    }
    
	public function pre($table){
        echo '<diy style="border: 1px solid red;"><pre>';
        print_r($table);
        echo '</pre></div>';
    }
    
    public function konwertuj($str){
        $zakazane = array('"'=>'|',' '=>'_', ','=>'_', 'ś'=>'s', 'ć'=>'c', 'ę'=>'e', 'ą'=>'a', 'ź'=>'z', 'ż'=>'z', 'ó'=>'o', 'ł'=>'l', 'ń'=>'n',
          'Ą' => 'a', 'Ś'=>'s', 'Ć'=>'c', 'Ę'=>'e',  'Ź'=>'z', 'Ż'=>'z', 'Ó'=>'o', 'Ł'=>'l', 'Ń'=>'n');
        $czas = time();  
            echo 'start = '.$str.'<br>';
        $wynik = strtr($str,$zakazane);
        echo 'str po strtr: '.$wynik.'<br>';
        $wynik = strtolower($wynik);
        echo 'str po lower: '.$wynik.'<br>';
        $koniec =  $czas."_".$wynik;
        echo 'koniec = '.$koniec.'<br>';
        return $koniec;
    }
    
    public function get_user(){
        $userx = $this->ion_auth->user()->row();
        if(is_object($userx) ){
            return $userx->username;    
        }
        else{
            redirect(base_url('Auth/logout/'));
        }
        
    }
    
    public function get_user_level(){
        $userx = $this->ion_auth->get_users_groups()->result();
        if(is_array($userx) ){
            return $userx[0]->name;    
        }
        else{           
            redirect(base_url('Auth/logout/'));
        }
    } 
    

    
    //===========================================================================================================
    
    public function check_date($str){
        $rozwal = explode("-",$str);
        foreach($rozwal as $dane){
            if( is_numeric($dane) && $dane != '' ){
                $zbij[] = $dane;
            } 
            else{
                $zbij[] = "-1";
            } 
        }
        if( in_array("-1",$zbij) ){
            // jeśli są jakieś błędy to zwróc czas dzisiejszy
            return date("Y-m-d");
        }
        else{
            // jesli wszystko ok to zwroc czas
            return $str;
        }

    }
    
    //===========================================================================================================
    
    public function check_time($str){
        $rozwal = explode(":",$str);
        foreach($rozwal as $dane){
            if( is_numeric($dane) && $dane != '' ){
                $zbij[] = $dane;
            } 
            else{
                $zbij[] = "-1";
            } 
        }
        if( in_array("-1",$zbij) ){
            // jeśli są jakieś błędy to zwróc czas dzisiejszy
            return date("H:i");
        }
        else{
            // jesli wszystko ok to zwroc czas
            return $str;
        }

    }
   
    //===========================================================================================================
    
    public function index($komunikatStr = false)
	{
		$data['active'] = 'Student';
		$data['active2'] = '';
        $data['logged'] = $this->ion_auth->logged_in();
        $data['logUser'] = $this->get_user(); 
        $data['user_level'] = $this->get_user_level();
         
         if($komunikatStr == false){
            $data['komunikat'] = false;    
        }
        else{
            $data['komunikat'] = true;
            $data['komunikatTyp'] = 'success';
            $data['komunikatTresc'] = 'Dane zostały pomyślnie uaktualnione.'; 
        }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        $this->load->model('StronaGlownaAdmin_model');
        $this->load->model('Student_Profil_model');
        $this->load->model('Wspolne_model');
        $this->load->helper('form'); 
        
        $data['komunikat'] = false;

        $usershow = $this->ion_auth->user()->row();
        $usershow_profile = $this->Student_Profil_model->pobierzSzczegolyProfilu( $usershow->id );

        $data['id_user'] = $usershow->id;
        $data['profil_show'] = $this->Student_Profil_model->pobierzProfil($data['id_user']);
        
        
        $dropdown_specjalizacje = $this->Wspolne_model->pobierzListeSelect('specjalizacje',false, false, false, false);
        
        
        $tabSpecFull = array();
        $tabSpec = unserialize($data['profil_show']['specjalizacje']);
        if( !empty($tabSpec) ){
                    //$this->pre($data);
            foreach($tabSpec as $specNazwa){
                $tabSpecFull[$specNazwa] = $this->Student_Profil_model->nazwaSpecjalizacje($specNazwa);
            }
        }
        

        
        $data['specyfikacjeFull'] = $tabSpecFull;
        $data['dropdown_specjalizacje'] = array_diff_assoc($dropdown_specjalizacje, $tabSpecFull);
        
        //$this->pre($data['dropdown_specjalizacje']);
        
        $data['poleStareHaslo'] = array(
            'name' => 'nazwaStareHaslo',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Zostaw puste jeśli nie zmieniasz',
			'value'		=> '',
            'type' => 'password'
        );
        
        $data['poleNoweHaslo'] = array(
            'name' => 'nazwaNoweHaslo',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Zostaw puste jeśli nie zmieniasz',
			'value'		=> '',
            'type' => 'password'
        );
        
        
        $data['poleEmail'] = array(
            'name' => 'nazwaEmail',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'E-mail',
			'required'	=> 'required',
			'value'		=> $usershow->email          
        );
        
        
        $data['poleCompany'] = array(
            'name' => 'nazwaCompany',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Nazwa firmy',
			'value'		=> $usershow->company          
        );
        
        $data['polePhone'] = array(
            'name' => 'nazwaPhone',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Telefon',
			'value'		=> $usershow->phone         
        );
        
        $data['poleWiek'] = array(
            'name' => 'nazwaWiek',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Wiek',
			'value'		=> $usershow_profile['wiek']         
        ); 
        
        $data['poleZawod'] = array(
            'name' => 'nazwaZawod',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Zawod',
			'value'		=> $usershow_profile['zawod']         
        );         
        
        
        $data['poleFirstName'] = array(
            'name' => 'nazwaFirstName',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Imię',
			'required'	=> 'required',
			'value'		=> $usershow->first_name          
        );

        $data['poleLastName'] = array(
            'name' => 'nazwaLastName',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Nazwisko',
			'required'	=> 'required',
			'value'		=> $usershow->last_name          
        ); 
                
        //----------------------------------------------- Profil

         $data['poleZainteresowania'] = array(
            'name' => 'nazwaZainteresowania',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Dodaj zainteresowania',
			'value'		=> ''          
        ); 
        
        $data['poleCertyfikaty'] = array(
            'name' => 'nazwaCertyfikaty',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Dodaj certyfikaty',
			'value'		=> ''          
        ); 
        
        $data['poleUprawnienia'] = array(
            'name' => 'nazwaUprawnienia',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Dodaj uprawnienia',
			'value'		=> ''          
        ); 
        
        
        
         $data['poleEdukacja'] = array(
            'name' => 'nazwaEdukacja',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Dodaj edukację',
			'value'		=> ''          
        ); 
        
        
         $data['poleEdukacjaOd'] = array(
            'name' => 'nazwaEdukacjaOd',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Od',
			'value'		=> ''          
        );         
        
        $data['poleEdukacjaDo'] = array(
            'name' => 'nazwaEdukacjaDo',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Do',
			'value'		=> ''          
        ); 
        
          $data['poleZatrudnienie'] = array(
            'name' => 'nazwaZatrudnienie',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Dodaj zatrudnienie',
			'value'		=> ''          
        ); 
        
         $data['poleZatrudnienieOd'] = array(
            'name' => 'nazwaZatrudnienieOd',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Od',
			'value'		=> ''          
        );         
        
        $data['poleZatrudnienieDo'] = array(
            'name' => 'nazwaZatrudnienieDo',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Do',
			'value'		=> ''          
        );         
        
         $data['poleKursy'] = array(
            'name' => 'nazwaKursy',
  			'class'		=> 'form-control pad20',
			'placeholder' => 'Dodaj kursy',
			'value'		=> ''          
        );      
        
       
        
        $data['buttonZmienProfil'] = array(
			'class'	=> 'btn btn-primary btn-block margtop20',
			'name'	=> 'zapiszProfil',
			'value'	=> 'Zapisz zmiany'
		); 

        //--------------------------------------------------------------
        
            if ($this->input->post('zapiszProfil')) {

                //$this->pre($_POST);
                     $data_update = array(
                        'email' =>      $this->input->post('nazwaEmail'),
                        'first_name' => $this->input->post('nazwaFirstName'),    
                        'last_name' =>  $this->input->post('nazwaLastName'), 
                        'company' =>    $this->input->post('nazwaCompany'), 
                        'phone' =>      $this->input->post('nazwaPhone'), 
                    );  
                
                $profil_update = array(
                    'wiek' =>      $this->input->post('nazwaWiek'),
                    'zawod' =>      $this->input->post('nazwaZawod'),
                );                         
                
                $updeteProfil = $this->Student_Profil_model->updateProfilSimple( $usershow->id, $profil_update );
                
                if( !$this->input->post('nazwaStareHaslo')  && !$this->input->post('nazwaNoweHaslo')     ) {
                    // hasla nie zmieniamy, ale komunikat ma sie zgadzać
                    $change_password = true;
                }
                else{                  
                    $identityMail = $_SESSION['identity'];                   
                    $change_password = $this->ion_auth->change_password($identityMail, $this->input->post('nazwaStareHaslo'), $this->input->post('nazwaNoweHaslo') );                      
                }

                $specs = $this->input->post('specjalizacje_moje');
                $wpis = serialize($specs);
                

                
                $czy_update = $this->ion_auth->update($_SESSION['user_id'], $data_update);
                
                $this->Student_Profil_model->updateSpecjalizacje($_SESSION['user_id'], $wpis);

                
                $data['komunikat'] = true;
                if($czy_update && $change_password && $updeteProfil){
                    $data['komunikatTyp'] = 'success';
                    $data['komunikatTresc'] = 'Dane użytkownika pomyślnie zmienione';  
                    redirect( base_url('Student_Profil/index/Ok') );

                }
                else{
                    $data['komunikatTyp'] = 'danger';
                    $data['komunikatTresc'] = 'Błąd edycji użytkownika!';                
                }

            }         
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////        
        
        //$this->pre($data);
        
		$this->breadcrumbs->push('Start', '/');
		$this->breadcrumbs->push('Student', '/Student');
        $this->breadcrumbs->push('Mój profil kandydata', '/Student_Profil');
		$data['breadcrumbs'] = $this->breadcrumbs->show();
		$data['komunikat'] = false;
        
		$this->load->view('Base_header', $data);
		$this->load->view('Student_Profil/profil_widok', $data);
		$this->load->view('Base_footer', $data);
	}

    //===========================================================================================================
public function UpdateProfil($uid, $klucz){ // wartosc = zainteresowania, edukacja, zatrudnienie, kursy
    if(!$_POST){
        die("Nie wolno!");
    }
    $wartosc = $_POST['wartosc'];
    $this->load->model('Student_Profil_model');
    $wyniki = $this->Student_Profil_model->updateProfil($uid, $klucz, $wartosc);
    $zwroc['dane'] = $wyniki;
    $zwroc['licz'] = count($wyniki);
    echo json_encode($zwroc);
}
 
    //===========================================================================================================
public function UpdateProfilDel($uid, $klucz, $indeks){ // wartosc = zainteresowania, edukacja, zatrudnienie, kursy
    $this->load->model('Student_Profil_model');
    $wyniki = $this->Student_Profil_model->deleteFromProfil($uid, $klucz, $indeks);
    redirect( base_url('Student_Profil/') );
}    
    
       
    
} // koniec klasy





























