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

class Student_Staz_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 pobierzNazweProjektu($idProjektu){
            $zap = " SELECT cp.project_name FROM company_projects cp WHERE cp.id=".$idProjektu;
            $wynik = $this->db->query($zap)->row_array();
            return $wynik['project_name'];
    }
    
        function pobierzNazweZadania($idZadania){
            $zap = " SELECT pt.task_name FROM projects_tasks pt WHERE pt.id=".$idZadania;
            $wynik = $this->db->query($zap)->row_array();
            if($wynik){
                return $wynik['task_name'];    
            }
            else{
                return false;
            }
            
    }
    
    function pobierzListeZadan($idProjektu){
        $zap = "SELECT pt.id, pt.project_id, pt.task_name, pt.date_start, pt.date_stop, ptrs.description as raport_start, ptrf.description as raport_finish FROM projects_tasks pt LEFT JOIN projects_tasks_report_start ptrs ON ptrs.id_task = pt.id LEFT JOIN projects_tasks_report_finish ptrf ON ptrf.id_task = pt.id  WHERE pt.project_id = ".$idProjektu;
        $wynik = $this->db->query($zap)->result_array();        
        if(!$wynik){
            return false;
        }
        else{
            return $wynik;
        }
    }
    
    function pobierz_raport_usera($project_id, $task_id, $user_id, $rodzaj){
        if($rodzaj == 1){
            $czlon = 'start';
        }
        elseif($rodzaj == 2){
            $czlon = 'finish';
        }
        else{
            return false;
        }
        $zap = "SELECT ptr.* FROM projects_tasks_report_".$czlon." ptr WHERE ptr.id_user = ".$user_id." AND ptr.id_project = ".$project_id." AND id_task=".$task_id; 
        
        //echo $zap;
        $wynik = $this->db->query($zap)->row_array();
        if($wynik){
            return $wynik;
        }
        else{
            return false;
        }
        
    }
    
    // --------------------- user raporty -----------------------------
    
        public function check_task_report_user($user_id, $project_id, $task_id, $rodzaj){
        if (!is_numeric($user_id)){
            return false;
        }
            
        if($rodzaj == 1){
            $czlon = 'start';
        }
        elseif($rodzaj == 2){
            $czlon = 'finish';
        }
        else{
            return false;
        }          
        $this->db->select('ptr.id');
        $this->db->from('projects_tasks_report_'.$czlon.' ptr');
        $this->db->where('ptr.id_project', $project_id);
            $this->db->where('ptr.id_task', $task_id);
        $this->db->where('ptr.id_user', $user_id);         
        $result = $this->db->get()->row_array();
        return $result;        
     }
      
    
    public function insert_report_user($user_id, $project_id, $task_id, $rodzaj, $data) {
        if (!is_numeric($user_id)){
            return false;
        }
            
        if($rodzaj == 1){
            $czlon = 'start';
        }
        elseif($rodzaj == 2){
            $czlon = 'finish';
        }
        else{
            return false;
        }
        
        $data['id_user'] = $user_id;
        $data['id_project'] = $project_id;
        $data['id_task'] = $task_id;
        $data['description'] = base64_encode($data['description']);
        $add = $this->db->insert('projects_tasks_report_'.$czlon, $data);
        return $add;
    }
    
    public function update_report_user($rodzaj, $data, $report_id) {

        $opis = base64_encode($data['description']);
        
        if($rodzaj == 1){
            $czlon = 'start';
        }
        elseif($rodzaj == 2){
            $czlon = 'finish';
        }
        else{
            return false;
        }
        $zap = "UPDATE projects_tasks_report_".$czlon." SET description='".$opis."' WHERE id=".$report_id;
        //echo $zap;
        $add = $this->db->query($zap);
        //$add = $this->db->update('projects_tasks_report_'.$czlon, $data, array('id' => $report_id));
        return $add;
    } 
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    function pobierzListeKierunki(){
        $zap = "SELECT id, profession_name, field_of_study FROM company_professions ORDER BY field_of_study ASC, profession_name ASC ";
        $wynik = $this->db->query($zap)->result_array();
        if($wynik){
            $tab[0] = 'Wybierz kierunek kształcenia';
           foreach($wynik as $dane){
              $tab[ $dane['id'] ] = $dane['field_of_study'].' >> '.$dane['profession_name'];
           }
                
        }
        else{
            $tab[0] = 'Wybierz kierunek kształcenia';
        }
        return $tab;
    }
    
    function zapiszNaStaz($idProjekt, $idStudent, $maxMiejsc = NULL){
        // sprawdz, czy drugi raz nie zapisuje sie na ten sam staż
        $zap0 = "SELECT id FROM users_projects WHERE id_student =".$idStudent." AND id_project=".$idProjekt;
        $liczba = $this->db->query($zap0)->num_rows();
        
        if($liczba == 0){
            // sprawdz, czy nie osiagnieto limitu miejsc - NULL = bez ograniczeń
            if($maxMiejsc != NULL and $maxMiejsc > 0 ){
                $zap1 = "SELECT id FROM users_projects WHERE id_project =".$idProjekt;
                $max_zap = $this->db->query($zap1)->num_rows();
                if( $max_zap < $maxMiejsc){
                    $dodaj = array(
                        'id_student' => $idStudent,
                        'id_project' => $idProjekt,  
                    );
                    return $this->db->insert('users_projects', $dodaj);                    
                }
                else{
                    return -2; // za duzo ludzi na jedno miejsce  
                }
            }
            else{
                $dodaj = array(
                    'id_student' => $idStudent,
                    'id_project' => $idProjekt,  
                );
                return $this->db->insert('users_projects', $dodaj);
            }
            
            

        }
        else{
            return -1; 
        }
        

        
    }
    
    function pobierzMojeProjekty($idStudent){
        $zap = "SELECT up.*, cpj.project_name FROM users_projects up, company_projects cpj WHERE up.id_project = cpj.id AND up.id_student =".$idStudent;
        return $this->db->query($zap)->result_array();
    }

    
    
    
    
    
    //Stare
    
    
//---------------------------------------------------------------------------------------------

    function pobierzFirmy(){
        $zap = " SELECT u.id as idFirmy, u.first_name,
        u.last_name, 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 = 'pracodawca'
        ORDER BY ug.group_id ASC ";
        $wynik = $this->db->query($zap)->result_array();
        $firmy[0]['id'] = 0;
        $firmy[0]['value'] = 'Wybierz firmę';
        if($wynik){
           foreach($wynik as $kl => $ff){
               $firmy[$kl+1]['id'] = $ff['idFirmy'];
               $firmy[$kl+1]['value'] = $ff['first_name'].' '.$ff['last_name'].' ('.$ff['company'].') ';
           }

        }

        return $firmy;
    }

//---------------------------------------------------------------------------------------------

    function pobierzNazweZawodu($ide){
        $zap = " SELECT z.nazwa FROM zawody z WHERE z.id = ".$ide." ";
        $wynik = $this->db->query($zap)->result_array();
        return $wynik;
    }


//---------------------------------------------------------------------------------------------

    function pobierzZadaniaCzas($ide){
        $zapxxxx = "SELECT zz.id, zz.nazwa, sp.godziny FROM zadania_zawodowe zz
        LEFT JOIN staze_pracodawcy sp ON zz.id = sp.id_zadania_zawodowe


        WHERE
         zz.id_zawody=".$ide;


        $zap0 = "SELECT zz.* FROM zadania_zawodowe zz WHERE zz.id_zawody=".$ide;
        $wynik0 = $this->db->query($zap0)->result_array();

        if($wynik0){

            foreach($wynik0 as $kl => $dane){
                $tablica[$kl]['idZadania'] = $dane['id'];
                $tablica[$kl]['nazwaZadania'] = $dane['nazwa'];
                $zap = "SELECT sp.godziny, sp.id_users, u.username, u.first_name, u.last_name, u.company FROM users u, staze_pracodawcy sp WHERE u.id = sp.id_users AND sp.id_zadania_zawodowe=".$dane['id'];
                $wynikx = $this->db->query($zap)->result_array();
                if($wynikx){
                    foreach($wynikx as $kl2 => $daneFirmy){
                        if($daneFirmy['company']){
                            if($daneFirmy['first_name'] or $daneFirmy['last_name']){
                                $nazwaUsers = $daneFirmy['company']." (".$daneFirmy['first_name']." ".$daneFirmy['last_name'].")";
                            }
                            else{
                                $nazwaUsers = $daneFirmy['company'];
                            }

                        }
                        else{
                            $nazwaUsers = $daneFirmy['username']." (".$daneFirmy['first_name']." ".$daneFirmy['last_name'].")";
                        }
                        $tablica[$kl]['firmy'][$kl2]['idUsers'] = $daneFirmy['id_users'];
                        $tablica[$kl]['firmy'][$kl2]['nazwaUsers'] = $nazwaUsers;
                        $tablica[$kl]['firmy'][$kl2]['godziny'] = $daneFirmy['godziny'];
                    }
                }
                else{
                    $tablica[$kl]['firmy'][0]['idUsers'] = -1 ;
                }
            }
        }



        return $tablica;
    }

//---------------------------------------------------------------------------------------------

function getPropozycjeSzczegoly($idProp){
    $zap = "SELECT k.nazwa as nazwaKwalifikacje, k.id as idKwalifikacje, z.id as idZawody, z.nazwa as nazwaZawody, zz.id as idZadania, zz.nazwa as nazwaZadania, u.id as idUser, u.username, u.company, u.first_name, u.last_name, sps.godziny
    FROM staze_propozycje_szczegoly sps, zawody z, zadania_zawodowe zz, users u, kwalifikacje k
    WHERE
    k.id = sps.id_kwalifikacje AND
    z.id = sps.id_zawody AND
    zz.id = sps.id_zadania_zawodowe AND
    u.id = sps.id_firma AND
    sps.id_staze_propozycje =".$idProp;
    return $this->db->query($zap)->result_array();

 }

function getPropozycje($idUser){
    $zap = "SELECT DISTINCT sp.id, k.nazwa as nazwaKwalifikacje, z.nazwa as nazwaZawody
    FROM staze_propozycje sp, staze_propozycje_szczegoly sps, zawody z, kwalifikacje k
    WHERE
    sp.id = sps.id_staze_propozycje AND
    k.id = sps.id_kwalifikacje AND
    z.id = sps.id_zawody AND
    sp.id_users =".$idUser;
    return $this->db->query($zap)->result_array();

 }



function getPropozycjeAjax($idProp){
    $this->db->where('id_users',$idProp);
    $wynik =  $this->db->get('staze_propozycje')->result_array();
    if($wynik){
        foreach($wynik as $kl => $dane){
            $rozpakuj = unserialize($wynik[$kl]['propozycja']);
            $tablica[$kl]['id'] = $wynik[$kl]['id'];
            $wynikKwal = $this->db->query("SELECT nazwa FROM kwalifikacje WHERE id=".$rozpakuj['dropdownKwalifikacje'])->result_array();
            $wynikZawody = $this->db->query("SELECT nazwa FROM zawody WHERE id=".$rozpakuj['przygotujStaze'])->result_array();
            if($wynikKwal){
                $tablica[$kl]['kwalifikacje'] = $wynikKwal[0]['nazwa'];
            }
            else{
                $tablica[$kl]['kwalifikacje'] = 'Brak';
            }
            if($wynikZawody){
                $tablica[$kl]['zawody'] = $wynikKwal[0]['nazwa'];
            }
            else{
                $tablica[$kl]['zawody'] = 'Brak';
            }

            for($i=0;$i<$rozpakuj['max_zadan'];$i++){
                if(isset($rozpakuj['firma_'.$i]) && isset($rozpakuj['firma_'.$i])  );
            }
        }
    }
    else{
        $tablica = false;
    }

    return $tablica;
}


    function utworzStaz($IdPropozycji, $user_id){
         $zap0 = "SELECT sp.id_users, sps.* FROM staze_propozycje sp, staze_propozycje_szczegoly sps WHERE sp.id=sps.id_staze_propozycje AND sp.id = ".$IdPropozycji;
         $wynik0 = $this->db->query($zap0)->result_array();
         $identyfikacja = time();

         if($wynik0){
          foreach($wynik0 as $kl => $daneKontr){
            // gdy próbuje dodać jeszcze raz to samo zadanie zawodowe
              $zap_spr = "SELECT id FROM kontraktacje WHERE
              id_user = ".$daneKontr['id_users']." AND
              id_kwalifikacje = ".$daneKontr['id_kwalifikacje']." AND
              id_zawody = ".$daneKontr['id_zawody']." AND
              id_zadania_zawodowe = ".$daneKontr['id_zadania_zawodowe'];

                //$spr = $this->db->query($zap_spr)->result_array();
                $spr = false;
            if(!$spr){
              $daneK1[$kl] = array(
                'id_user' => $daneKontr['id_users'],
                'id_pracodawca' => $daneKontr['id_firma'],
                'id_kwalifikacje' => $daneKontr['id_kwalifikacje'],
                'id_zawody' => $daneKontr['id_zawody'],
                'id_zadania_zawodowe' => $daneKontr['id_zadania_zawodowe'],
                'godziny' => $daneKontr['godziny'],
                'identyfikacja' => $identyfikacja

               );
            }

          }
          if($daneK1){
              $daneKKK = array(
                  'id_users' => $user_id,
                  'identyfikacja' => $identyfikacja
              );

              $this->db->insert('kontraktacje_identyfikacja', $daneKKK);

              $stat0 = $this->db->insert_batch('kontraktacje', $daneK1);
              if($stat0){
                    // pobierz dodaną kontraktacje
                    $zapK = "SELECT max(id) as max_id FROM kontraktacje";
                    $sprK = $this->db->query($zapK)->result_array();
                    if($sprK){
                       $max_id = $sprK[0]['max_id'];

                        $zapMail = "SELECT k.id, k.data_dod, k.godziny, k.accept, us.username as nazwaP, us.first_name as imieP, us.company as firmaP,  us.last_name as nazwiskoP, us.email as emailP, u.username as nazwaUsera, u.first_name as imieUsera,
                    u.last_name as nazwiskoUsera, u.email as emailUsera, u.company as firmaUsera, zz.nazwa as nazwaZadanie, z.nazwa as nazwaZawod, kw.nazwa as nazwaKwalifikacje
                    FROM `kontraktacje` k
                    LEFT JOIN users u ON k.id_user = u.id
                    LEFT JOIN users us ON k.id_pracodawca = us.id
                    LEFT JOIN kwalifikacje kw ON kw.id = k.id_kwalifikacje
                    LEFT JOIN zawody z ON z.id = k.id_zawody
                    LEFT JOIN zadania_zawodowe zz ON zz.id = k.id_zadania_zawodowe WHERE k.id=".$max_id;
                       $sprMail = $this->db->query($zapMail)->result_array();

                    }
                  else{
                      $sprMail = false;
                  }



                    $this->db->where('id_staze_propozycje',$IdPropozycji);
                    $statDel1 = $this->db->delete('staze_propozycje_szczegoly');

                $this->db->where('id',$IdPropozycji);
                $statDel2 = $this->db->delete('staze_propozycje');
                if($statDel1 && $statDel2 && is_array($sprMail) ){

                  $stat = $sprMail;
                }
                else{
                  $stat = false;
                }

              }
              else{
                $stat = -1;
              }
          }
          else{
            $stat = -2;
          }

         }
         else{
            $stat = -1;
         }
        return $stat;
    }


//---------------------------------------------------------------------------------------------

    function dodajKontraktacje($user_ide, $idPracodawcy, $staz_ide, $tablica_zadan){
        $zap = "SELECT id FROM kontraktacje WHERE id_user=".$user_ide." AND id_staze=".$staz_ide;
        $wynik = $this->db->query($zap)->result_array();

        //print_r($wynik);
        if( !empty($wynik[0]['id']) ){
            return -1;
        }
        else{
            $data = array(
                'id_user' => $user_ide,
                 'id_pracodawca' => $idPracodawcy,
                'id_staze' => $staz_ide
            );

                if( $this->db->insert('kontraktacje', $data) ){
                $wynik1 = true;
            }
            else {
                $wynik1 = false;
            }

            $zap_sprawdz = "SELECT max(id) as max_id FROM kontraktacje";
            $wynik_sprawdz = $this->db->query($zap_sprawdz)->result_array();
            $kontr_id = $wynik_sprawdz[0]['max_id'];

            foreach($tablica_zadan as $klucz => $danex){
                $data_batch[$klucz]['id_kontraktacje'] = $kontr_id;
                $data_batch[$klucz]['id_zadania_zawodowe'] = $danex;
            }

            if($this->db->insert_batch('kontraktacje_szczegoly', $data_batch)){
                $wynik2 = true;
            }
            else{
                $wynik2 = false;
            }

            if($wynik1 && $wynik2){
                return true;
            }
            else{
                return false;
            }



        } // koniec else


    }

    public function get_kontraktacje($id) { /////////// tutaj
        $this->db->where('id_user', $id);
        $this->db->join('staze', 'staze.id = kontraktacje.id_staze');
        return $this->db->get('kontraktacje')->result();
    }

    function pobierzStaz($id){
        $this->db->select('nazwa');
        $this->db->where('id',$id);
        $wynik = $this->db->get('staze')->result_array();
        return  $wynik[0]['nazwa'];
    }

    public function get_staz_elearning($id) {
        $this->db->where('id_staze', $id);
        return $this->db->get('elearning_staz')->result();
    }

    public function get_exam_elearning($id) {
        $this->db->where('id_staze', $id);
        return $this->db->get('elearning_egzamin')->result();
    }

    function pobierzListePracodawcow(){
        $zap = "SELECT u.id, u.first_name, u.last_name, u.company FROM users u, users_groups ug, groups g WHERE g.name='pracodawca' AND g.id = ug.group_id AND u.id = ug.user_id  ";
        $wynik = $this->db->query($zap)->result_array();
        $tab[ 0 ] = 'Wybierz pracodawcę z listy';
        foreach($wynik as $kl => $dane){
            $tab[ $dane['id'] ] = $dane['company'].' ('.$dane['first_name'].' '.$dane['last_name'].')';
        }
        return $tab;
    }

    function pobierzStazeZadania($idPracodawcy, $idUcznia){
        $zap0 = "SELECT id_staze FROM kontraktacje WHERE id_user = ".$idUcznia;
        $wynik0 = $this->db->query($zap0)->result_array();
        $zapx = '';
        foreach($wynik0 as $dane0){
            $zapx .= " s.id != ".$dane0['id_staze']." AND ";
        }

        $zap = "SELECT s.id as idStazu, s.nazwa as nazwaStaz, s.opis, s.data_startu, z.nazwa as nazwaZawodu, zz.id as idZadania, zz.nazwa as nazwaZadanie, sz.godziny
        FROM staze s, staze_pracodawcy sp, staze_zadania sz, zadania_zawodowe zz, zawody z  WHERE
        s.id = sp.id_staze AND
        ".$zapx."
        sz.id_staze = sp.id_staze AND
        sz.id_zadania_zawodowe = zz.id AND
        zz.id_zawody = z.id AND
        sp.id_users = ".$idPracodawcy."
        ";
        return $this->db->query($zap)->result_array();
    }

        function pobierzZadaniaDlaStazu($idStazu, $idPracodawcy){
        $zap = "SELECT s.id as idStazu, s.nazwa as nazwaStaz, s.opis, s.data_startu, z.nazwa as nazwaZawodu, zz.id as idZadania, zz.nazwa as nazwaZadanie, sz.godziny
        FROM staze s, staze_pracodawcy sp, staze_zadania sz, zadania_zawodowe zz, zawody z  WHERE
        s.id = sp.id_staze AND
        sz.id_staze = sp.id_staze AND
        sz.id_zadania_zawodowe = zz.id AND
        zz.id_zawody = z.id AND
        s.id = ".$idStazu." AND
        sp.id_users = ".$idPracodawcy."
        ";
        return $this->db->query($zap)->result_array();
    }

        function pobierzZadaniaDlaEgzaminu($idStazu, $idUsera){
        // najpierw pobierz zadania dla zrobionych egzaminów
        $zap0 = "SELECT DISTINCT id_zadania_zawodowe FROM egzamin_postepy WHERE id_users=".$idUsera;
        $wynik0 = $this->db->query($zap0)->result_array();
        if($wynik0){
            $suma = '';
            foreach($wynik0 as $dane0){
                $suma .= ' zz.id != '.$dane0['id_zadania_zawodowe'].' AND ';
            }
        }
        else{
            $suma = '';
        }

        // teraz wypluj dane
        $zap = "SELECT zz.id, zz.nazwa
        FROM kontraktacje k, kontraktacje_szczegoly ks, zadania_zawodowe zz   WHERE
        k.id = ks.id_kontraktacje AND ".$suma."
        ks.id_zadania_zawodowe = zz.id AND
        k.id_staze = ".$idStazu." AND
        k.id_user = ".$idUsera."
        ";
        return $this->db->query($zap)->result_array();


    }


    function pobierzEgazminDlaZadania($idZadania){
        $zap = "SELECT e.id as idEgzaminu, e.nazwa, e.opis, ep.id as idPytania, ep.pytanie, ep.odpowiedzi FROM egzamin e, egzamin_pytania ep WHERE e.id = ep.id_egzamin AND e.id_zadania_zawodowe = ".$idZadania;
        return $this->db->query($zap)->result_array();
    }

    function pobierzPoprawnaOdp($idPyt){
        $this->db->select('poprawna');
        $this->db->where('id',$idPyt);
        $wynik = $this->db->get('egzamin_pytania')->result_array();
        return $wynik[0]['poprawna'];
    }

    function dodajNowyEgzamin($tablica){
        if($this->db->insert_batch('egzamin_postepy',$tablica)){
            return true;
        }
        else{
            return false;
        }
    }

    function pobierzZrobioneEgzaminy($idStazu, $user_id){
        $zap = "SELECT DISTINCT e.id as idEgzaminu, e.nazwa, zz.nazwa as nazwaZadania
        FROM kontraktacje k, kontraktacje_szczegoly ks, egzamin_postepy ep, egzamin e, zadania_zawodowe zz
        WHERE k.id = ks.id_kontraktacje AND
        zz.id = ks.id_zadania_zawodowe AND
        ep.id_egzamin = e.id AND
        ks.id_zadania_zawodowe = ep.id_zadania_zawodowe AND
        ep.id_users = ".$user_id." AND
        k.id_staze = ".$idStazu;
        return $this->db->query($zap)->result_array();
    }



    function pobierzStazePodzadania($idZad){
        $zap = "SELECT id, nazwa FROM podzadania_zawodowe WHERE id_zadania_zawodowe=".$idZad;
        return $this->db->query($zap)->result_array();
    }

    function pobierzEgzaminDlaZadania($idZadania){
        $zap = "SELECT e.nazwa, e.opis, ep.*
        FROM egzamin e, egzamin_pytania ep
        WHERE ep.id_egzamin = e.id
        AND e.id_zadania_zawodowe = ".$idZadania;
        return $this->db->query($zap)->result_array();

    }


    function pobierzWynikiEgzaminu($idEgzaminu, $user_id){

       $zap = "SELECT ep.pytanie, ep.odpowiedzi, ep.poprawna, epo.user_answer, epo.status FROM
       egzamin e, egzamin_pytania ep, egzamin_postepy epo WHERE
       e.id = ep.id_egzamin AND
       e.id = epo.id_egzamin AND
       epo.id_egzamin_pytania = ep.id AND
       epo.id_egzamin = ".$idEgzaminu." AND
       epo.id_users = ".$user_id;
       return $this->db->query($zap)->result_array();

    }

    function pobierzSzczegolyEgzaminu($idEgz){
        $this->db->where('id', $idEgz);
        return $this->db->get('egzamin')->result_array();
    }


    function pobierzMojeStaze($idUser){
      $zap = "SELECT u.first_name, u.last_name, u.username, u.company, k.nazwa as nazwaKwalifikacje, z.nazwa as nazwaZawody, zz.nazwa as nazwaZadania,
      ko.godziny, ko.data_dod, ko.active, ko.accept, ko.identyfikacja
      FROM users u, kwalifikacje k, zawody z, zadania_zawodowe zz, kontraktacje ko
      WHERE u.id = ko.id_pracodawca AND
       k.id = ko.id_kwalifikacje AND
       z.id = ko.id_zawody AND 
       zz.id = ko.id_zadania_zawodowe AND ko.id_user = ".$idUser." ORDER BY identyfikacja ASC, nazwaKwalifikacje ASC, nazwaZawody ASC, nazwaZadania ASC";
       return $this->db->query($zap)->result_array();
    }


    function usunPropozycje($idProp){
        $this->db->where('id_staze_propozycje', $idProp);
        $stat1 = $this->db->delete('staze_propozycje_szczegoly');

        $this->db->where('id', $idProp);
        $stat2 = $this->db->delete('staze_propozycje');

        if($stat1 && $stat2){
            return true;
        }
        else{
            return false;
        }

    }





    function dodajPropozycje($user_id, $posty){
        //$posty_str = serialize($posty);
        $dane = array(
            'id_users' => $user_id,
        );

        $this->db->insert('staze_propozycje',$dane);

        $this->db->select('max(id) as max_id');
        $wynik = $this->db->get('staze_propozycje')->result_array();
        if($wynik){
            $licz=0;
            $lista = array();
            for($i=0;$i<$posty['max_zadan'];$i++){
                if(isset( $posty['firma_'.$i]) && isset( $posty['zaznacz_'.$i])  && $posty['firma_'.$i] > 0 && $posty['godzinyh_'.$i] > 0 ){


                    $lista[$licz]['id_staze_propozycje'] = $wynik[0]['max_id'];
                    $lista[$licz]['id_kwalifikacje'] = $posty['dropdownKwalifikacjeStudent'];
                    $lista[$licz]['id_zawody'] = $posty['przygotujStazeStudent'];
                    $lista[$licz]['id_zadania_zawodowe'] = $posty['zadania_'.$i];
                    $lista[$licz]['id_firma'] = $posty['firma_'.$i];
                    $lista[$licz]['godziny'] = $posty['godzinyh_'.$i];
                    $licz++;
                }
            }

            if($lista){
                $wynik2 = $this->db->insert_batch('staze_propozycje_szczegoly',$lista);
            }
            else{
                $wynik2 = false;
            }



           if($wynik && $wynik2){
                return $wynik[0]['max_id'];
           }
            else{
                return -1;
            }
        } // koniec if wynik
        else{
            return false;
        }

    }



     function edytujPropozycje($user_id, $posty, $idPropozycji){
        //$posty_str = serialize($posty);
        $this->db->select('id');
        $this->db->where('id_staze_propozycje', $idPropozycji);
        $wynik_stary = $this->db->get('staze_propozycje_szczegoly')->result_array();

        if($wynik_stary){  // ususn stare wyniki
            foreach($wynik_stary as $dane_kas){
               $this->db->where('id', $dane_kas['id']);
               $this->db->delete('staze_propozycje_szczegoly');
            }
        }


        $wynik[0]['id'] = $idPropozycji;
        if($wynik){
            $licz=0;
            $lista = array();
            for($i=0;$i<$posty['max_zadan'];$i++){
                if(isset( $posty['firma_'.$i]) && isset( $posty['zaznacz_'.$i])  && $posty['firma_'.$i] > 0 && $posty['godzinyh_'.$i] > 0 ){


                    $lista[$licz]['id_staze_propozycje'] = $wynik[0]['id'];
                    $lista[$licz]['id_kwalifikacje'] = $posty['dropdownKwalifikacjeStudent'];
                    $lista[$licz]['id_zawody'] = $posty['przygotujStazeStudent'];
                    $lista[$licz]['id_zadania_zawodowe'] = $posty['zadania_'.$i];
                    $lista[$licz]['id_firma'] = $posty['firma_'.$i];
                    $lista[$licz]['godziny'] = $posty['godzinyh_'.$i];
                    $licz++;
                }
            }

            if($lista){
                $wynik2 = $this->db->insert_batch('staze_propozycje_szczegoly',$lista);
            }
            else{
                $wynik2 = false;
            }



           if($wynik && $wynik2){
                return $wynik[0]['id'];
           }
            else{
                return -1;
            }
        } // koniec if wynik
        else{
            return false;
        }

    }

####################################################################################################
#                                        AJAX           
####################################################################################################  
    
public function AjaxPobierzStazeFirmy($idKierunki){
    $zap = "SELECT u.first_name, u.last_name, u.company, cpf.qualifications, cpj.id as project_id, cpj.project_name, cpj.description as project_descr, cpj.number_of_students  
FROM 
    company_professions cpf, company_projects cpj, users u 
WHERE 
    cpf.company_id = u.id AND
    cpj.company_id = u.id AND
    cpf.id =".$idKierunki;
    return $this->db->query($zap)->result_array();
    
}
    
public function AjaxPobierzZadaniaProjektu($idProjekt){
    $zap = "SELECT task_name, description as task_descr, duration as task_dur FROM projects_tasks WHERE project_id = ".$idProjekt." ORDER BY date_start ASC, task_name ASC";
    return $this->db->query($zap)->result_array();
}

public function AjaxPobierzSzczegolyZadania($idZadanie){
    $zap = "SELECT cp.project_name, u.company, pt.* FROM projects_tasks pt, users u, company_projects cp WHERE u.id = pt.company_id AND cp.id = pt.project_id AND pt.id = ".$idZadanie;
    return $this->db->query($zap)->result_array();
}    

public function AjaxPobierzSzczegolyStazu($idStaz){
    $zap = "SELECT  cp.project_name, u.company, pt.* FROM projects_tasks pt, users u, company_projects cp WHERE u.id = pt.company_id AND cp.id = pt.project_id AND pt.project_id = ".$idStaz;
    return $this->db->query($zap)->result_array();
} 

    
























    // POBIERZ ^
}
