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

class Student_Profil_model extends CI_Model {
    public function __construct() {
        parent::__construct();
        $this->load->database();
    }

    // SPRAWDŹ CZY ELEMENT ISTNIEJE W TABELI:
    function has($table, $column, $value) {
        $this->db->where($column,$value);
        if ($this->db->get($table)->num_rows() > 0){
            return true;
        }
        else{
            return false;
        }
    }

    function pobierzUsera($id_usera){
        if( !is_numeric($id_usera) ){
            return false;
        }
        else{
            $zap = " SELECT u.username, u.email FROM users u WHERE id=".$id_usera;
            $wynik = $this->db->query($zap)->result_array();
            return $wynik;            
        }

    }    
    
    
//---------------------------------------------------------------------------------------------
    
    function pobierzProfil($ide){
        if( !is_numeric($ide) or !$ide ){
            $ide = 0;
        }
        $zap = " SELECT * FROM users_profile WHERE id_users = ".$ide." ";
        $wynik0 = $this->db->query($zap)->result_array();
        if(  !$wynik0 ){
            $this->db->insert('users_profile', array('id_users' => $ide) );
            $this->db->where('id_users', $ide);
            $wynik = $this->db->get('users_profile')->result_array();
        }
        else $wynik = $wynik0;
        return $wynik[0];
    }
    
    function pobierzSzczegolyProfilu($ide){
        $zap = " SELECT * FROM users_profile WHERE id_users = ".$ide." ";
        $wynik = $this->db->query($zap)->result_array();
        return $wynik[0];
    }
    
    function updateProfilSimple($ide_user, $tablica){
        $this->db->where('id_users', $ide_user);
        if($this->db->update('users_profile', $tablica)){
            return true;
        }
        else{
            return false;
        }
    }
    
    function updateProfil($ide, $klucz, $wartosc){
        if( !is_numeric($ide) or !$ide ){
            $ide = 0;
        }
        $zap = " SELECT * FROM users_profile WHERE id_users = ".$ide." ";
        $wynik0 = $this->db->query($zap)->result_array();
        if(  !$wynik0[0]['id'] ){ 
            // nie ma w bazie
            $tablica[0] = $wartosc;
            $wpis = serialize($tablica);
            $this->db->insert('users_profile', array('id_users' => $ide, $klucz => $wpis) );
            $this->db->where('id_users', $ide);
            $wynik = $this->db->get('users_profile')->result_array();
            return unserialize($wynik[0][$klucz]);
        }
        else{
           // wpis już jest
            $tabl = unserialize($wynik0[0][$klucz]); 
            $tabl[] = $wartosc;
            $wpis = serialize($tabl);
            $this->db->set($klucz, $wpis);
            $this->db->where('id_users', $ide);
            $this->db->update('users_profile'); 
            $this->db->where('id_users', $ide);
            $wynik = $this->db->get('users_profile')->result_array(); 
            return unserialize($wynik[0][$klucz]);
            
        } 
        

    }

        function nazwaSpecjalizacje($id){
            $this->db->where('id', $id);
            $wynik = $this->db->get('specjalizacje')->result_array();
            return $wynik[0]['nazwa'];    
        }
    
    
        function updateSpecjalizacje($uid, $wpis){
            $this->db->set('specjalizacje', $wpis);
            $this->db->where('id_users', $uid);
            $this->db->update('users_profile');            
        }
 
        function deleteFromProfil($ide, $klucz, $indeks){
        if( !is_numeric($ide) or !$ide ){
            $ide = 0;
        }
        $zap = " SELECT * FROM users_profile WHERE id_users = ".$ide." ";
        $wynik0 = $this->db->query($zap)->result_array();
           // wpis już jest
            $tabl = unserialize($wynik0[0][$klucz]); 
            unset($tabl[$indeks]);
            $ind = 0;
            foreach($tabl as $danex){
              $nowatab[$ind] = $danex;
              $ind++;
            }
            
            $wpis = serialize($nowatab);
            $this->db->set($klucz, $wpis);
            $this->db->where('id_users', $ide);
            $this->db->update('users_profile'); 
            $this->db->where('id_users', $ide);

    }
    
    
    
    
    function pobierzFirmy(){
        $zap = " SELECT g.description as nazwaGrupy, u.username, u.id as idFirmy, u.first_name, u.last_name, u.last_login, u.email, u.company  FROM users_groups ug, users u, groups g WHERE ug.user_id = u.id AND ug.group_id = g.id AND g.name = 'firmy' ORDER BY ug.group_id ASC ";
        $wynik = $this->db->query($zap)->result_array();
        return $wynik;
    }
    
//---------------------------------------------------------------------------------------------    
    
    function pobierzNazweZawodu($ide){
        $zap = " SELECT nazwa FROM zawody WHERE id=".$ide." ";
        $wynik = $this->db->query($zap)->result_array();
        return $wynik;
    }
    
    
//---------------------------------------------------------------------------------------------
    
    function pobierzZadaniaCzas($ide){
            
        $zap = " SELECT he.id as idHarmo, he.czas as godziny, zz.nazwa as nazwaZadania, pz.nazwa as nazwaPodzadania 
        FROM `harmonogramy_elementy` he, zadania_zawodowe zz, podzadania_zawodowe pz WHERE 
        he.id_zadania_zawodowe = zz.id AND he.id_podzadania_zawodowe = pz.id AND he.id_zawody=".$ide; 
        $wynik = $this->db->query($zap)->result_array();  
        return $wynik;    
    }
    

    
    
    
    // POBIERZ ^
}
