public function izberi2($vp)
 {
     $list = Input::all();
     $vpisna['vpisna'] = substr($vp, 0, 8);
     $vpisna['sifra_studijskega_leta'] = substr($vp, 8, 2);
     $vpisna['sifra_studijskega_programa'] = substr($vp, 10, 7);
     $vpisna['sifra_letnika'] = substr($vp, 17, 1);
     $vpisna['zeton'] = substr($vp, 18, 1);
     Vpisan_predmet::where('vpisna_stevilka', $vpisna['vpisna'])->where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_studijskega_leta', $vpisna['sifra_studijskega_leta'])->delete();
     $obvezni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_sestavnega_dela', NULL)->lists('sifra_predmeta');
     $obvezni_predmeti = [];
     $sum = 0;
     if (!Vpisan_predmet::where('vpisna_stevilka', $vpisna['vpisna'])->where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_studijskega_leta', $vpisna['sifra_studijskega_leta'])->count()) {
         for ($i = 0; $i < count($obvezni); $i++) {
             $obvezni_predmeti[$i] = [Profesor::where('sifra_profesorja', Izvedba_predmeta::where('sifra_predmeta', $obvezni[$i])->pluck('sifra_profesorja'))->pluck('priimek_profesorja'), Profesor::where('sifra_profesorja', Izvedba_predmeta::where('sifra_predmeta', $obvezni[$i])->pluck('sifra_profesorja'))->pluck('ime_profesorja'), Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('naziv_predmeta'), Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('stevilo_KT')];
             $vpisi = new Vpisan_predmet();
             $vpisi->vpisna_stevilka = $vpisna['vpisna'];
             $vpisi->sifra_studijskega_leta = $vpisna['sifra_studijskega_leta'];
             $vpisi->sifra_predmeta = $obvezni[$i];
             $vpisi->sifra_studijskega_programa = $vpisna['sifra_studijskega_programa'];
             $vpisi->sifra_letnika = $vpisna['sifra_letnika'];
             $vpisi->sifra_studijskega_leta_izvedbe_predmeta = $vpisna['sifra_studijskega_leta'];
             $vpisi->save();
             $sum += Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('stevilo_KT');
         }
     } else {
         for ($i = 0; $i < count($obvezni); $i++) {
             $obvezni_predmeti[$i] = [Profesor::where('sifra_profesorja', Izvedba_predmeta::where('sifra_predmeta', $obvezni[$i])->pluck('sifra_profesorja'))->pluck('priimek_profesorja'), Profesor::where('sifra_profesorja', Izvedba_predmeta::where('sifra_predmeta', $obvezni[$i])->pluck('sifra_profesorja'))->pluck('ime_profesorja'), Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('naziv_predmeta'), Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('stevilo_KT')];
             $sum += Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('stevilo_KT');
         }
     }
     $strokovno_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_sestavnega_dela', '6')->lists('sifra_predmeta');
     $strokovni = [];
     for ($i = 0; $i < count($strokovno_izbirni); $i++) {
         $strokovni[$i] = Predmet::where('sifra_predmeta', $strokovno_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $strokovno_izbirni[$i])->pluck('stevilo_KT') . " KT";
     }
     if (!empty($strokovni)) {
         array_unshift($strokovni, "");
     }
     $moduli = [];
     if ($vpisna['sifra_letnika'] == 3) {
         $moduli = Sestavni_del_predmetnika::where('sifra_sestavnega_dela', '!=', '6')->where('sifra_sestavnega_dela', '!=', '7')->lists('opis_sestavnega_dela');
         array_unshift($moduli, "");
     }
     $modpredmeti = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_sestavnega_dela', '!=', '6')->where('sifra_sestavnega_dela', '!=', '7')->whereNotNull('sifra_sestavnega_dela')->lists('sifra_predmeta');
     $modularni = [];
     for ($i = 0; $i < count($modpredmeti); $i++) {
         $modularni[$i] = Predmet::where('sifra_predmeta', $modpredmeti[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $modpredmeti[$i])->pluck('stevilo_KT') . " KT";
     }
     if (!empty($modularni)) {
         array_unshift($modularni, "");
     }
     if ($vpisna['sifra_letnika'] == 2) {
         $prosto_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->whereBetween('sifra_sestavnega_dela', [6, 7])->lists('sifra_predmeta');
         $prosti = [];
         for ($i = 0; $i < count($prosto_izbirni); $i++) {
             $prosti[$i] = Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('stevilo_KT') . " KT";
         }
         if (!empty($prosti)) {
             array_unshift($prosti, "");
         }
     } else {
         $prosto_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->whereNotNull('sifra_sestavnega_dela')->lists('sifra_predmeta');
         $prosti = [];
         $j = 0;
         for ($i = 0; $i < count($prosto_izbirni); $i++) {
             $prosti[$j] = Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('stevilo_KT') . " KT";
             $j++;
         }
         if (!empty($prosti)) {
             array_unshift($prosti, "");
         }
     }
     $stp = Studijski_program::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->pluck('naziv_studijskega_programa');
     if (array_key_exists('modul', $list) && array_key_exists('modul2', $list)) {
         if ($list['modul2'] == $list['modul']) {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne module!");
         } elseif ($list['modul2'] == 0 || $list['modul'] == 0) {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite modul!");
         }
     }
     if (array_key_exists('prosti', $list) && array_key_exists('prosti2', $list)) {
         if ($list['prosti'] == $list['prosti2'] && $list['prosti'] != 0) {
             if ($vpisna['sifra_letnika'] == 3 && $vpisna['zeton'] == 1) {
                 return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => $modularni, 'tips' => 0])->withErrors("Izberite različne prosto izbirne predmete!");
             } else {
                 return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne prosto izbirne predmete!");
             }
         }
     }
     if (array_key_exists('strokovni', $list)) {
         if ($list['prosti'] == $list['strokovni'] && $list['prosti'] != 0) {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne prosto izbirne predmete!");
         }
         if ($list['prosti2'] == $list['strokovni'] && $list['prosti2'] != 0) {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne prosto izbirne predmete!");
         }
     } elseif ($vpisna['sifra_letnika'] == 3 && $vpisna['zeton'] == 1) {
         for ($i = 1; $i <= 6; $i++) {
             if ($modularni[$list['modularni' . $i]] == $prosti[$list['prosti']] && $list['modularni' . $i] != 0) {
                 return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => $modularni, 'tips' => 0])->withErrors("Izberite različne modularne predmete! ");
             }
         }
     } else {
         $module1 = $list['modul'];
         $module2 = $list['modul2'];
         if ($list['modul'] == 6 || $list['modul'] == 7) {
             $module1 = $list['modul'] + 2;
         }
         if ($list['modul2'] == 6 || $list['modul2'] == 7) {
             $module2 = $list['modul2'] + 2;
         }
         $mod1 = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_sestavnega_dela', $module1)->lists('sifra_predmeta');
         $mod2 = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_sestavnega_dela', $module2)->lists('sifra_predmeta');
         if (in_array(Predmet::where('naziv_predmeta', explode(" - ", $prosti[$list['prosti']])[0])->pluck('sifra_predmeta'), $mod1)) {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne modularne predmete! ");
         }
         if (in_array(Predmet::where('naziv_predmeta', explode(" - ", $prosti[$list['prosti']])[0])->pluck('sifra_predmeta'), $mod2)) {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne modularne predmete! ");
         }
         if (in_array(Predmet::where('naziv_predmeta', explode(" - ", $prosti[$list['prosti2']])[0])->pluck('sifra_predmeta'), $mod1)) {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne modularne predmete! ");
         }
         if (in_array(Predmet::where('naziv_predmeta', explode(" - ", $prosti[$list['prosti2']])[0])->pluck('sifra_predmeta'), $mod2)) {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne modularne predmete! ");
         }
     }
     if (array_key_exists('modularni' . 1, $list)) {
         for ($i = 1; $i <= 5; $i++) {
             for ($j = $i + 1; $j <= 6; $j++) {
                 if ($list['modularni' . $i] != 0) {
                     if ($list['modularni' . $i] == $list['modularni' . $j]) {
                         return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => $modularni, 'tips' => 0])->withErrors("Izberite različne modularne predmete! ");
                     }
                 } else {
                     return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => $modularni, 'tips' => 0])->withErrors("Izberite modularne predmete! ");
                 }
             }
         }
         for ($i = 1; $i <= 6; $i++) {
             if ($list['modularni' . $i] != 0) {
                 $pre = new Vpisan_predmet();
                 $pre->vpisna_stevilka = $vpisna['vpisna'];
                 $pre->sifra_predmeta = $modpredmeti[$list['modularni' . $i] - 1];
                 $pre->sifra_studijskega_leta = $vpisna['sifra_studijskega_leta'];
                 $pre->sifra_studijskega_programa = $vpisna['sifra_studijskega_programa'];
                 $pre->sifra_letnika = $vpisna['sifra_letnika'];
                 $pre->sifra_studijskega_leta_izvedbe_predmeta = $vpisna['sifra_studijskega_leta'];
                 $pre->save();
             }
         }
     }
     if (array_key_exists('prosti', $list)) {
         if ($list['prosti'] != 0) {
             $pre = new Vpisan_predmet();
             $pre->vpisna_stevilka = $vpisna['vpisna'];
             $pre->sifra_predmeta = $prosto_izbirni[$list['prosti'] - 1];
             $pre->sifra_studijskega_leta = $vpisna['sifra_studijskega_leta'];
             $pre->sifra_studijskega_programa = $vpisna['sifra_studijskega_programa'];
             $pre->sifra_letnika = $vpisna['sifra_letnika'];
             $pre->sifra_studijskega_leta_izvedbe_predmeta = $vpisna['sifra_studijskega_leta'];
             $pre->save();
         }
     }
     if (array_key_exists('prosti2', $list)) {
         if ($list['prosti2'] != 0) {
             $pre = new Vpisan_predmet();
             $pre->vpisna_stevilka = $vpisna['vpisna'];
             $pre->sifra_predmeta = $prosto_izbirni[$list['prosti2'] - 1];
             $pre->sifra_studijskega_leta = $vpisna['sifra_studijskega_leta'];
             $pre->sifra_studijskega_programa = $vpisna['sifra_studijskega_programa'];
             $pre->sifra_letnika = $vpisna['sifra_letnika'];
             $pre->sifra_studijskega_leta_izvedbe_predmeta = $vpisna['sifra_studijskega_leta'];
             $pre->save();
         }
     }
     if (array_key_exists('strokovni', $list)) {
         if ($list['strokovni'] != 0) {
             $pre = new Vpisan_predmet();
             $pre->vpisna_stevilka = $vpisna['vpisna'];
             $pre->sifra_predmeta = $strokovno_izbirni[$list['strokovni'] - 1];
             $pre->sifra_studijskega_leta = $vpisna['sifra_studijskega_leta'];
             $pre->sifra_studijskega_programa = $vpisna['sifra_studijskega_programa'];
             $pre->sifra_letnika = $vpisna['sifra_letnika'];
             $pre->sifra_studijskega_leta_izvedbe_predmeta = $vpisna['sifra_studijskega_leta'];
             $pre->save();
         } else {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 1])->withErrors("Izberite en strokovni predmet!");
         }
     }
     if (array_key_exists('modul', $list)) {
         if ($list['modul'] == 6 || $list['modul'] == 7) {
             $list['modul'] = $list['modul'] + 2;
         }
         $modul = Predmet_studijskega_programa::where('sifra_sestavnega_dela', $list['modul'])->where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->lists('sifra_predmeta');
         for ($i = 0; $i < count($modul); $i++) {
             $pre = new Vpisan_predmet();
             $pre->vpisna_stevilka = $vpisna['vpisna'];
             $pre->sifra_predmeta = $modul[$i];
             $pre->sifra_studijskega_leta = $vpisna['sifra_studijskega_leta'];
             $pre->sifra_studijskega_programa = $vpisna['sifra_studijskega_programa'];
             $pre->sifra_letnika = $vpisna['sifra_letnika'];
             $pre->sifra_studijskega_leta_izvedbe_predmeta = $vpisna['sifra_studijskega_leta'];
             $pre->save();
         }
     }
     if (array_key_exists('modul2', $list)) {
         if ($list['modul2'] == 6 || $list['modul2'] == 7) {
             $list['modul2'] = $list['modul2'] + 2;
         }
         $modul = Predmet_studijskega_programa::where('sifra_sestavnega_dela', $list['modul2'])->where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->lists('sifra_predmeta');
         for ($i = 0; $i < count($modul); $i++) {
             $pre = new Vpisan_predmet();
             $pre->vpisna_stevilka = $vpisna['vpisna'];
             $pre->sifra_predmeta = $modul[$i];
             $pre->sifra_studijskega_leta = $vpisna['sifra_studijskega_leta'];
             $pre->sifra_studijskega_programa = $vpisna['sifra_studijskega_programa'];
             $pre->sifra_letnika = $vpisna['sifra_letnika'];
             $pre->sifra_studijskega_leta_izvedbe_predmeta = $vpisna['sifra_studijskega_leta'];
             $pre->save();
         }
     }
     $predmeti = Vpisan_predmet::where('vpisna_stevilka', $vpisna['vpisna'])->where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_studijskega_leta', $vpisna['sifra_studijskega_leta'])->lists('sifra_predmeta');
     $suma = 0;
     for ($i = 0; $i < count($predmeti); $i++) {
         $suma += Predmet::where('sifra_predmeta', $predmeti[$i])->pluck('stevilo_KT');
     }
     if ($suma < 60) {
         if ($vpisna['sifra_letnika'] == 3 && $vpisna['zeton'] == 1) {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => $modularni, 'tips' => 1])->withErrors("Nimate dovolj KT!");
         } else {
             return view('predmeti', ['studijski_program' => $stp, 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $vp, 'modularni' => [], 'tips' => 1])->withErrors("Nimate dovolj KT!");
         }
     }
     return redirect('home')->with('message', 'Vpisni list je oddan!');
 }
 public function izberi($vp)
 {
     $stdleto = substr(date('Y'), 2, 2);
     $list = Input::all();
     $vpis = Vpis::where('vpisna_stevilka', $vp)->where('sifra_studijskega_leta', $stdleto)->first();
     $ime = Student::where('vpisna_stevilka', $vp)->pluck('priimek_studenta') . ", " . Student::where('vpisna_stevilka', $vp)->pluck('ime_studenta');
     $vpisna['vpisna'] = $vp;
     $vpisna['sifra_studijskega_leta'] = $stdleto;
     $vpisna['sifra_studijskega_programa'] = $vpis->sifra_studijskega_programa;
     $vpisna['sifra_letnika'] = $vpis->sifra_letnika;
     $strokovno_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_sestavnega_dela', '6')->lists('sifra_predmeta');
     $strokovni = [];
     for ($i = 0; $i < count($strokovno_izbirni); $i++) {
         $strokovni[$i] = Predmet::where('sifra_predmeta', $strokovno_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $strokovno_izbirni[$i])->pluck('stevilo_KT') . " KT";
     }
     if (!empty($strokovni)) {
         array_unshift($strokovni, "");
     }
     $moduli = [];
     if ($vpisna['sifra_letnika'] == 3) {
         $moduli = Sestavni_del_predmetnika::where('sifra_sestavnega_dela', '!=', '6')->where('sifra_sestavnega_dela', '!=', '7')->lists('opis_sestavnega_dela');
         array_unshift($moduli, "");
     }
     $modpredmeti = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_sestavnega_dela', '!=', '6')->where('sifra_sestavnega_dela', '!=', '7')->whereNotNull('sifra_sestavnega_dela')->lists('sifra_predmeta');
     $modularni = [];
     for ($i = 0; $i < count($modpredmeti); $i++) {
         $modularni[$i] = Predmet::where('sifra_predmeta', $modpredmeti[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $modpredmeti[$i])->pluck('stevilo_KT') . " KT";
     }
     if (!empty($modularni)) {
         array_unshift($modularni, "");
     }
     if ($vpisna['sifra_letnika'] == 2) {
         $prosto_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->whereBetween('sifra_sestavnega_dela', [6, 7])->lists('sifra_predmeta');
         $prosti = [];
         for ($i = 0; $i < count($prosto_izbirni); $i++) {
             $prosti[$i] = Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('stevilo_KT') . " KT";
         }
         if (!empty($prosti)) {
             array_unshift($prosti, "");
         }
     } else {
         $prosto_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->whereNotNull('sifra_sestavnega_dela')->lists('sifra_predmeta');
         $prosti = [];
         $j = 0;
         for ($i = 0; $i < count($prosto_izbirni); $i++) {
             $prosti[$j] = Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('stevilo_KT') . " KT";
             $j++;
         }
         if (!empty($prosti)) {
             array_unshift($prosti, "");
         }
     }
     $vpisan = Vpisan_predmet::where('vpisna_stevilka', $vp)->where('sifra_studijskega_leta', $stdleto)->lists('sifra_predmeta');
     $str = 0;
     $pr1 = 0;
     $pr2 = 0;
     $mod1 = 0;
     $mod2 = 0;
     $mod3 = 0;
     $mod4 = 0;
     $mod5 = 0;
     $mod6 = 0;
     $strz = 0;
     $prz1 = 0;
     $prz2 = 0;
     $modz = array_fill(1, 6, 0);
     for ($i = 0; $i < count($vpisan); $i++) {
         $psp = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_predmeta', $vpisan[$i])->pluck('sifra_sestavnega_dela');
         if ($vpisna['sifra_letnika'] == 2) {
             if ($psp == 6 && $str == 0) {
                 $str = array_search($vpisan[$i], $strokovno_izbirni) + 1;
                 $strz = $vpisan[$i];
             } else {
                 if (($psp == 7 || $psp == 6) && $pr1 == 0) {
                     $pr1 = array_search($vpisan[$i], $prosto_izbirni) + 1;
                     $prz1 = $vpisan[$i];
                 }
                 if (($psp == 7 || $psp == 6) && $pr2 == 0) {
                     $pr2 = array_search($vpisan[$i], $prosto_izbirni) + 1;
                     $prz2 = $vpisan[$i];
                 }
             }
         } elseif ($vpisna['sifra_letnika'] == 3) {
             if ($psp != null && ($psp < 6 || $psp > 7)) {
                 if ($mod1 == 0) {
                     $mod1 = array_search($vpisan[$i], $modpredmeti) + 1;
                     $modz[1] = $vpisan[$i];
                 } elseif ($mod2 == 0) {
                     $mod2 = array_search($vpisan[$i], $modpredmeti) + 1;
                     $modz[2] = $vpisan[$i];
                 } elseif ($mod3 == 0) {
                     $mod3 = array_search($vpisan[$i], $modpredmeti) + 1;
                     $modz[3] = $vpisan[$i];
                 } elseif ($mod4 == 0) {
                     $mod4 = array_search($vpisan[$i], $modpredmeti) + 1;
                     $modz[4] = $vpisan[$i];
                 } elseif ($mod5 == 0) {
                     $mod5 = array_search($vpisan[$i], $modpredmeti) + 1;
                     $modz[5] = $vpisan[$i];
                 } elseif ($mod6 == 0) {
                     $mod6 = array_search($vpisan[$i], $modpredmeti) + 1;
                     $modz[6] = $vpisan[$i];
                 } elseif ($pr1 == 0) {
                     $pr1 = array_search($vpisan[$i], $prosto_izbirni) + 1;
                     $prz1 = $vpisan[$i];
                 } elseif ($pr2 == 0) {
                     $pr2 = array_search($vpisan[$i], $prosto_izbirni) + 1;
                     $prz2 = $vpisan[$i];
                 }
             }
             if (($psp == 6 || $psp == 7) && $pr1 == 0) {
                 $pr1 = array_search($vpisan[$i], $prosto_izbirni) + 1;
                 $prz1 = $vpisan[$i];
             } elseif (($psp == 6 || $psp == 7) && $pr2 == 0) {
                 $pr2 = array_search($vpisan[$i], $prosto_izbirni) + 1;
                 $prz2 = $vpisan[$i];
             }
         }
     }
     $stp = Studijski_program::where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->pluck('naziv_studijskega_programa');
     if (array_key_exists('prosti', $list) && array_key_exists('prosti2', $list)) {
         if ($list['prosti'] == $list['prosti2'] && $list['prosti'] != 0) {
             if ($vpisna['sifra_letnika'] == 3) {
                 return view('spremeniizbirni', ['mod1' => $mod1, 'mod2' => $mod2, 'mod3' => $mod3, 'mod4' => $mod4, 'mod5' => $mod5, 'mod6' => $mod6, 'pr1' => $pr1, 'pr2' => $pr2, 'str' => $str, 'ime' => $ime, 'studijski_program' => $stp, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vp' => $vp, 'modularni' => $modularni, 'tips' => 0])->withErrors("Izberite različne prosto izbirne predmete!");
             } else {
                 return view('spremeniizbirni', ['mod1' => $mod1, 'mod2' => $mod2, 'mod3' => $mod3, 'mod4' => $mod4, 'mod5' => $mod5, 'mod6' => $mod6, 'pr1' => $pr1, 'pr2' => $pr2, 'str' => $str, 'ime' => $ime, 'studijski_program' => $stp, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vp' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne prosto izbirne predmete!");
             }
         }
     }
     if (array_key_exists('strokovni', $list)) {
         if ($list['prosti'] == $list['strokovni'] && $list['prosti'] != 0) {
             return view('spremeniizbirni', ['mod1' => $mod1, 'mod2' => $mod2, 'mod3' => $mod3, 'mod4' => $mod4, 'mod5' => $mod5, 'mod6' => $mod6, 'pr1' => $pr1, 'pr2' => $pr2, 'str' => $str, 'ime' => $ime, 'studijski_program' => $stp, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vp' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne prosto izbirne predmete!");
         }
         if ($list['prosti2'] == $list['strokovni'] && $list['prosti2'] != 0) {
             return view('spremeniizbirni', ['mod1' => $mod1, 'mod2' => $mod2, 'mod3' => $mod3, 'mod4' => $mod4, 'mod5' => $mod5, 'mod6' => $mod6, 'pr1' => $pr1, 'pr2' => $pr2, 'str' => $str, 'ime' => $ime, 'studijski_program' => $stp, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vp' => $vp, 'modularni' => [], 'tips' => 0])->withErrors("Izberite različne prosto izbirne predmete!");
         }
     } else {
         for ($i = 1; $i <= 6; $i++) {
             if ($modularni[$list['modularni' . $i] - 1] == $prosti[$list['prosti'] - 1] && $list['modularni' . $i] != 0) {
                 return view('spremeniizbirni', ['mod1' => $mod1, 'mod2' => $mod2, 'mod3' => $mod3, 'mod4' => $mod4, 'mod5' => $mod5, 'mod6' => $mod6, 'pr1' => $pr1, 'pr2' => $pr2, 'str' => $str, 'ime' => $ime, 'studijski_program' => $stp, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vp' => $vp, 'modularni' => $modularni, 'tips' => 0])->withErrors("Izberite različne modularne predmete! ");
             }
         }
     }
     if (array_key_exists('modularni' . 1, $list)) {
         for ($i = 1; $i <= 5; $i++) {
             for ($j = $i + 1; $j <= 6; $j++) {
                 if ($list['modularni' . $i] != 0) {
                     if ($list['modularni' . $i] == $list['modularni' . $j]) {
                         return view('spremeniizbirni', ['mod1' => $mod1, 'mod2' => $mod2, 'mod3' => $mod3, 'mod4' => $mod4, 'mod5' => $mod5, 'mod6' => $mod6, 'pr1' => $pr1, 'pr2' => $pr2, 'str' => $str, 'ime' => $ime, 'studijski_program' => $stp, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vp' => $vp, 'modularni' => $modularni, 'tips' => 0])->withErrors("Izberite različne modularne predmete! ");
                     }
                 } else {
                     return view('spremeniizbirni', ['mod1' => $mod1, 'mod2' => $mod2, 'mod3' => $mod3, 'mod4' => $mod4, 'mod5' => $mod5, 'mod6' => $mod6, 'pr1' => $pr1, 'pr2' => $pr2, 'str' => $str, 'ime' => $ime, 'studijski_program' => $stp, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vp' => $vp, 'modularni' => $modularni, 'tips' => 0])->withErrors("Izberite modularne predmete! ");
                 }
             }
         }
         for ($i = 1; $i <= 6; $i++) {
             if ($list['modularni' . $i] != 0) {
                 Vpisan_predmet::where('vpisna_stevilka', $vpisna['vpisna'])->where('sifra_studijskega_leta', $vpisna['sifra_studijskega_leta'])->where('sifra_predmeta', $modz[$i])->update(['sifra_predmeta' => $modpredmeti[$list['modularni' . $i] - 1]]);
             }
         }
     }
     if (array_key_exists('prosti', $list)) {
         if ($list['prosti'] != 0) {
             Vpisan_predmet::where('vpisna_stevilka', $vpisna['vpisna'])->where('sifra_studijskega_leta', $vpisna['sifra_studijskega_leta'])->where('sifra_predmeta', $prz1)->update(['sifra_predmeta' => $prosto_izbirni[$list['prosti'] - 1]]);
         }
     }
     if (array_key_exists('prosti2', $list)) {
         if ($list['prosti2'] != 0) {
             Vpisan_predmet::where('vpisna_stevilka', $vpisna['vpisna'])->where('sifra_studijskega_leta', $vpisna['sifra_studijskega_leta'])->where('sifra_predmeta', $prz2)->update(['sifra_predmeta' => $prosto_izbirni[$list['prosti2'] - 1]]);
         }
     }
     if (array_key_exists('strokovni', $list)) {
         if ($list['strokovni'] != 0) {
             Vpisan_predmet::where('vpisna_stevilka', $vpisna['vpisna'])->where('sifra_studijskega_leta', $vpisna['sifra_studijskega_leta'])->where('sifra_predmeta', $strz)->update(['sifra_predmeta' => $strokovno_izbirni[$list['strokovni'] - 1]]);
         } else {
             return view('spremeniizbirni', ['mod1' => $mod1, 'mod2' => $mod2, 'mod3' => $mod3, 'mod4' => $mod4, 'mod5' => $mod5, 'mod6' => $mod6, 'pr1' => $pr1, 'pr2' => $pr2, 'str' => $str, 'ime' => $ime, 'studijski_program' => $stp, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vp' => $vp, 'modularni' => [], 'tips' => 1])->withErrors("Izberite en strokovni predmet!");
         }
     }
     $predmeti = Vpisan_predmet::where('vpisna_stevilka', $vpisna['vpisna'])->where('sifra_studijskega_programa', $vpisna['sifra_studijskega_programa'])->where('sifra_letnika', $vpisna['sifra_letnika'])->where('sifra_studijskega_leta', $vpisna['sifra_studijskega_leta'])->lists('sifra_predmeta');
     $suma = 0;
     for ($i = 0; $i < count($predmeti); $i++) {
         $suma += Predmet::where('sifra_predmeta', $predmeti[$i])->pluck('stevilo_KT');
     }
     if ($suma < 60) {
         if ($vpisna['sifra_letnika'] == 3 && $vpisna['zeton'] == 1) {
             return view('spremeniizbirni', ['mod1' => $mod1, 'mod2' => $mod2, 'mod3' => $mod3, 'mod4' => $mod4, 'mod5' => $mod5, 'mod6' => $mod6, 'pr1' => $pr1, 'pr2' => $pr2, 'str' => $str, 'ime' => $ime, 'studijski_program' => $stp, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vp' => $vp, 'modularni' => $modularni, 'tips' => 1])->withErrors("Nimate dovolj KT!");
         } else {
             return view('spremeniizbirni', ['mod1' => $mod1, 'mod2' => $mod2, 'mod3' => $mod3, 'mod4' => $mod4, 'mod5' => $mod5, 'mod6' => $mod6, 'pr1' => $pr1, 'pr2' => $pr2, 'str' => $str, 'ime' => $ime, 'studijski_program' => $stp, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vp' => $vp, 'modularni' => [], 'tips' => 1])->withErrors("Nimate dovolj KT!");
         }
     }
     return redirect('home')->with('message', 'Predmeti so bili spremenjeni!');
 }
 public function vpisi(Requests\VpisniListRequest $request)
 {
     if ($user = Auth::user()) {
         if ($user->type == 0) {
             $programi = Studijski_program::get();
             $studijski_programi = [];
             for ($i = 0; $i < count($programi); $i++) {
                 $studijski_programi[$i] = $programi[$i]->sifra_studijskega_programa . " " . $programi[$i]->naziv_studijskega_programa;
             }
             $drzave = Drzava::lists('naziv_drzave');
             $obcine = Obcina::lists('naziv_obcine');
             $vrste_vpisa = Vrsta_vpisa::lists('opis_vrste_vpisa');
             $oblik = Oblika_studija::lists('opis_oblike_studija');
             $nacin = Nacin_studija::lists('opis_nacina_studija');
             $posti = Posta::get();
             $poste = [];
             for ($i = 0; $i < count($posti); $i++) {
                 $poste[$i] = $posti[$i]->postna_stevilka . " " . $posti[$i]->naziv_poste;
             }
             array_unshift($poste, "");
             $studija = Vrsta_studija::get();
             $vrste_studija = [];
             for ($i = 0; $i < count($studija); $i++) {
                 $vrste_studija[$i] = $studija[$i]->sifra_vrste_studija . " " . $studija[$i]->opis_vrste_studija;
             }
             $list = $request->all();
             $errors = [];
             if ($list['drzavarojstva'] == 0) {
                 $errors[] = "Selektirajte drazavo rojstva!";
             }
             if ($list['krajrojstva'] == 0) {
                 $errors[] = "Selektirajte občino rojstva!";
             }
             if ($list['drzavljanstvo'] == 0) {
                 $errors[] = "Selektirajte drzavljanstvo!";
             }
             if ($list['postastalno'] == 0) {
                 $errors[] = "Selektirajte pošto stalnega bivališča!";
             }
             if ($list['studiskiprogram'] == 0) {
                 $errors[] = "Selektirajte študujski program!";
             }
             if ($list['vrstastudija'] == 0) {
                 $errors[] = "Selektirajte vrsto študija!";
             }
             if ($list['vrstavpisa'] == 0) {
                 $errors[] = "Selektirajte vrsto vpisa!";
             }
             if ($list['letnikdodatno'] == 0) {
                 $errors[] = "Selektirajte letnika!";
             }
             if ($list['nacin'] == 0) {
                 $errors[] = "Selektirajte načina študija!";
             }
             if ($list['oblika'] == 0) {
                 $errors[] = "Selektirajte obliko študija!";
             }
             if (!empty($errors)) {
                 return Redirect::back()->withInput()->withErrors($errors);
             }
             $emso = $list["emso"];
             $datum = $list["datumrojstva"];
             $std = new Student();
             if (!Student::where('vpisna_stevilka', $list["vstevilka"])->first()) {
                 $std->vpisna_stevilka = $list["vstevilka"];
                 $std->ime_studenta = ucfirst(explode(" ", $list["imepriimek"])[0]);
                 $std->priimek_studenta = ucfirst(explode(" ", $list["imepriimek"])[1]);
                 $std->datum_rojstva = date("Y-m-d", strtotime($datum));
                 $std->sifra_obcine_rojstva = Obcina::where('naziv_obcine', $obcine[$list['krajrojstva'] - 1])->pluck('sifra_obcine');
                 $std->sifra_drzave_rojstva = Drzava::where('naziv_drzave', $drzave[$list['drzavarojstva'] - 1])->pluck('sifra_drzave');
                 $std->sifra_drzave_drzavljanstva = Drzava::where('naziv_drzave', $drzave[$list['drzavljanstvo'] - 1])->pluck('sifra_drzave');
                 $std->spol = strtoupper($list["spol"])[0];
                 if (Drzava::where('sifra_drzave', $std->sifra_drzave_rojstva)->pluck('naziv_drzave') == "Slovenija" && $std->sifra_obcine_rojstva == 999) {
                     return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država rojstva!");
                 } elseif (Drzava::where('sifra_drzave', $std->sifra_drzave_rojstva)->pluck('naziv_drzave') != "Slovenija" && $std->sifra_obcine_rojstva != 999) {
                     return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država rojstva!");
                 }
                 if (substr($datum, 0, 2) == substr($emso, 0, 2) && substr($datum, 3, 2) == substr($emso, 2, 2) && substr($datum, 7, 3) == substr($emso, 4, 3) && substr($emso, 7, 2) > 49 && substr($emso, 7, 2) < 60) {
                     if ($std->spol == "M" && substr($emso, 9, 3) >= 0 && substr($emso, 9, 3) < 500) {
                         $kontrolna = $emso[0] * 7 + $emso[1] * 6 + $emso[2] * 5 + $emso[3] * 4 + $emso[4] * 3 + $emso[5] * 2 + $emso[6] * 7 + $emso[7] * 6 + $emso[8] * 5 + $emso[9] * 4 + $emso[10] * 3 + $emso[11] * 2;
                         $ost = 11 - $kontrolna % 11;
                         if ($emso[12] == $ost) {
                             $std->emso = $emso;
                         } else {
                             return Redirect::back()->withInput()->withErrors("Napačno EMŠO!!! (kontrolna)");
                         }
                     } elseif (($std->spol == "Z" || $std->spol == "Ž") && substr($emso, 9, 3) >= 500 && substr($emso, 9, 3) < 1000) {
                         $kontrolna = $emso[0] * 7 + $emso[1] * 6 + $emso[2] * 5 + $emso[3] * 4 + $emso[4] * 3 + $emso[5] * 2 + $emso[6] * 7 + $emso[7] * 6 + $emso[8] * 5 + $emso[9] * 4 + $emso[10] * 3 + $emso[11] * 2;
                         $ost = 11 - $kontrolna % 11;
                         if ($emso[12] == $ost) {
                             $std->emso = $emso;
                         } else {
                             return Redirect::back()->withInput()->withErrors("Napačno EMŠO!!! (kontrolna)");
                         }
                     } else {
                         return Redirect::back()->withInput()->withErrors("Napačno EMŠO!!! (spol)");
                     }
                 } else {
                     return Redirect::back()->withInput()->withErrors("Napačno EMŠO!!! (datum)");
                 }
                 $std->davcna_stevilka = $list["davcna"];
                 $std->email_studenta = $list["email"];
                 $std->prenosni_telefon = $list["gsm"];
                 $std->postna_stevilka_stalno = explode(" ", $poste[$list['postastalno']])[0];
                 $std->sifra_obcine_stalno = Obcina::where('naziv_obcine', $obcine[$list['obcinastalno'] - 1])->pluck('sifra_obcine');
                 $std->sifra_drzave_stalno = Drzava::where('naziv_drzave', $drzave[$list['drzavastalno'] - 1])->pluck('sifra_drzave');
                 $std->naslov_stalno = $list["naslovstalno"];
                 if (Drzava::where('sifra_drzave', $std->sifra_drzave_stalno)->pluck('naziv_drzave') == "Slovenija" && !$std->sifra_obcine_stalno == 999) {
                     return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država stalnega prebivališča!");
                 } elseif (Drzava::where('sifra_drzave', $std->sifra_drzave_stalno)->pluck('naziv_drzave') != "Slovenija" && $std->sifra_obcine_stalno != 999) {
                     return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država stalnega prebivališča!");
                 }
                 if (!empty($list['obcinazacasno'])) {
                     $std->postna_stevilka_zacasno = explode(" ", $poste[$list['postazacasno']])[0];
                     $std->sifra_obcine_zacasno = Obcina::where('naziv_obcine', $obcine[$list['obcinazacasno'] - 1])->pluck('sifra_obcine');
                     $std->sifra_drzave_zacasno = Drzava::where('naziv_drzave', $drzave[$list['drzavazacasno'] - 1])->pluck('sifra_drzave');
                     $std->naslov_zacasno = $list["naslovzacasno"];
                     if (Drzava::where('sifra_drzave', $std->sifra_drzave_zacasno)->pluck('naziv_drzave') == "Slovenija" && $std->sifra_obcine_zacasno == 999) {
                         return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država začasnega prebivališča!");
                     } elseif (Drzava::where('sifra_drzave', $std->sifra_drzave_zacasno)->pluck('naziv_drzave') != "Slovenija" && $std->sifra_obcine_zacasnoo != 999) {
                         return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država začasnega prebivališča!");
                     }
                 }
                 if ($list['vrocanje'] == 'vstalno') {
                     $std->naslov_vrocanja = $list["naslovstalno"];
                 } elseif ($list['vrocanje'] == 'vzacasno') {
                     $std->naslov_vrocanja = $list["naslovzacasno"];
                 }
                 $std->save();
             }
             $vp = new Vpis();
             $vp->sifra_studijskega_programa = explode(" ", $studijski_programi[$list['studiskiprogram'] - 1])[0];
             $vp->sifra_vrste_studija = explode(" ", $vrste_studija[$list['vrstastudija'] - 1])[0];
             $vp->sifra_vrste_vpisa = Vrsta_vpisa::where('opis_vrste_vpisa', $vrste_vpisa[$list['vrstavpisa'] - 1])->pluck('sifra_vrste_vpisa');
             if ($vp->sifra_vrste_studija == 16204 && !($vp->sifra_studijskega_programa == 1000425 || $vp->sifra_studijskega_programa == 1000475 || $vp->sifra_studijskega_programa == 1001001 || $vp->sifra_studijskega_programa == 1000469)) {
                 return Redirect::back()->withInput()->withErrors("Napačna kombinacija študijski program + vrsta študija UNI");
             } elseif ($vp->sifra_vrste_studija == 16203 && !($vp->sifra_studijskega_programa == 1000470 || $vp->sifra_studijskega_programa == 1000477)) {
                 return Redirect::back()->withInput()->withErrors("Napačna kombinacija študijski program + vrsta študija VS");
             } elseif ($vp->sifra_vrste_studija == 17003 && !($vp->sifra_studijskega_programa == 1000471 || $vp->sifra_studijskega_programa == 1000934)) {
                 return Redirect::back()->withInput()->withErrors("Napačna kombinacija študijski program + vrsta študija MAG");
             }
             $vp->sifra_letnika = $list['letnikdodatno'];
             if ($vp->sifra_vrste_vpisa == 1 && $vp->sifra_letnika != 1) {
                 return Redirect::back()->withInput()->withErrors("Napačѝna kombinacija vrsta vpisa + letnik");
             } elseif ($vp->sifra_vrste_vpisa == 2 && $vp->sifra_letnika == 1) {
                 return Redirect::back()->withInput()->withErrors("Napačna kombinacija vrsta vpisa + letnik");
             } elseif ($vp->sifra_vrste_vpisa == 3 && $vp->sifra_letnika == 1) {
                 return Redirect::back()->withInput()->withErrors("Napačna kombinacija vrsta vpisa + letnik");
             }
             $vp->sifra_nacina_studija = Nacin_studija::where('opis_nacina_studija', $nacin[$list['nacin'] - 1])->pluck('sifra_nacina_studija');
             $vp->sifra_oblike_studija = Oblika_studija::where('opis_oblike_studija', $oblik[$list['oblika'] - 1])->pluck('sifra_oblike_studija');
             $vp->sifra_studijskega_leta = Studijsko_leto::where('stevilka_studijskega_leta', date('Y') . "/" . (date('Y') + 1))->pluck('sifra_studijskega_leta');
             $vp->vpisna_stevilka = $list["vstevilka"];
             if (array_key_exists('zavod', $list)) {
                 $vp->zavod = $list['zavod'];
             }
             if (array_key_exists('krajizvajanja', $list)) {
                 $vp->kraj_izvajanja = $list['krajizvajanja'];
             }
             $vp->save();
             $obvezni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vp->sifra_studijskega_programa)->where('sifra_letnika', $vp->sifra_letnika)->where('sifra_sestavnega_dela', NULL)->lists('sifra_predmeta');
             $obvezni_predmeti = [];
             $sum = 0;
             for ($i = 0; $i < count($obvezni); $i++) {
                 $obvezni_predmeti[$i] = [Profesor::where('sifra_profesorja', Izvedba_predmeta::where('sifra_predmeta', $obvezni[$i])->pluck('sifra_profesorja'))->pluck('priimek_profesorja'), Profesor::where('sifra_profesorja', Izvedba_predmeta::where('sifra_predmeta', $obvezni[$i])->pluck('sifra_profesorja'))->pluck('ime_profesorja'), Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('naziv_predmeta'), Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('stevilo_KT')];
                 $vpisi = new Vpisan_predmet();
                 $vpisi->vpisna_stevilka = $list["vstevilka"];
                 $vpisi->sifra_studijskega_leta = $vp->sifra_studijskega_leta;
                 $vpisi->sifra_predmeta = $obvezni[$i];
                 $vpisi->sifra_studijskega_programa = $vp->sifra_studijskega_programa;
                 $vpisi->sifra_letnika = $vp->sifra_letnika;
                 $vpisi->sifra_studijskega_leta_izvedbe_predmeta = $vp->sifra_studijskega_leta;
                 $vpisi->save();
                 $sum += Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('stevilo_KT');
             }
             $prosto_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vp->sifra_studijskega_programa)->where('sifra_letnika', $vp->sifra_letnika)->where('sifra_sestavnega_dela', '7')->lists('sifra_predmeta');
             $prosti = [];
             for ($i = 0; $i < count($prosto_izbirni); $i++) {
                 $prosti[$i] = Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('stevilo_KT') . " KT";
             }
             if (!empty($prosti)) {
                 array_unshift($prosti, "");
             }
             $strokovno_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vp->sifra_studijskega_programa)->where('sifra_letnika', $vp->sifra_letnika)->where('sifra_sestavnega_dela', '6')->lists('sifra_predmeta');
             $strokovni = [];
             for ($i = 0; $i < count($strokovno_izbirni); $i++) {
                 $strokovni[$i] = Predmet::where('sifra_predmeta', $strokovno_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $strokovno_izbirni[$i])->pluck('stevilo_KT') . " KT";
             }
             if (!empty($strokovni)) {
                 array_unshift($strokovni, "");
             }
             $pomos = $vp->vpisna_stevilka . $vp->sifra_studijskega_leta . $vp->sifra_studijskega_programa . $vp->sifra_letnika;
             return view('predmeti', ['studijski_program' => $studijski_programi[$list['studiskiprogram'] - 1], 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'vpisna' => $pomos, 'tips' => 0]);
         } elseif ($user->type == 1) {
             $list = $request->all();
             $drzave = Drzava::lists('naziv_drzave');
             $obcine = Obcina::lists('naziv_obcine');
             $zet = Zeton::where('vpisna_stevilka', $list["vstevilka"])->where('sifra_studijskega_leta', substr(date('Y'), 2, 2))->where('zeton_porabljen', 0)->get();
             $programi = [];
             $lemnik = [];
             $vpisa = [];
             $oblike = [];
             $nacine = [];
             for ($i = 0; $i < count($zet); $i++) {
                 $zet[0] = $zet[$i];
                 $programi[$i] = $zet[$i]->sifra_studijskega_programa;
                 $lemnik[$i] = $zet[$i]->sifra_letnika;
                 $vpisa[$i] = $zet[$i]->sifra_vrste_vpisa;
                 $oblike[$i] = $zet[$i]->sifra_oblike_studija;
                 $nacine[$i] = $zet[$i]->sifra_nacina_studija;
             }
             Vpis::where('vpisna_stevilka', $list["vstevilka"])->where('sifra_studijskega_leta', substr(date('Y'), 2, 2))->update(['vpis_potrjen' => 0]);
             Vpis::where('vpisna_stevilka', $list["vstevilka"])->where('sifra_studijskega_leta', substr(date('Y'), 2, 2))->delete();
             $studijski_programi = [];
             for ($i = 0; $i < count($programi); $i++) {
                 $studijski_programi[$i] = $programi[$i] . " " . Studijski_program::where('sifra_studijskega_programa', $programi[$i])->pluck('naziv_studijskega_programa');
             }
             array_unshift($studijski_programi, "");
             $letnik = [];
             for ($i = 0; $i < count($lemnik); $i++) {
                 $letnik[$i] = Letnik::where('sifra_letnika', $lemnik[$i])->pluck('stevilka_letnika');
             }
             array_unshift($letnik, "");
             $oblik = [];
             for ($i = 0; $i < count($oblike); $i++) {
                 $oblik[$i] = Oblika_studija::where('sifra_oblike_studija', $oblike[$i])->pluck('opis_oblike_studija');
             }
             array_unshift($oblik, "");
             $nacin = [];
             for ($i = 0; $i < count($nacine); $i++) {
                 $nacin[$i] = Nacin_studija::where('sifra_nacina_studija', $nacine[$i])->pluck('opis_nacina_studija');
             }
             array_unshift($nacin, "");
             $vrste_vpisa = [];
             for ($i = 0; $i < count($vpisa); $i++) {
                 $vrste_vpisa[$i] = Vrsta_vpisa::where('sifra_vrste_vpisa', $vpisa[$i])->pluck('opis_vrste_vpisa');
             }
             array_unshift($vrste_vpisa, "");
             $posti = Posta::get();
             $poste = [];
             for ($i = 0; $i < count($posti); $i++) {
                 $poste[$i] = $posti[$i]->postna_stevilka . " " . $posti[$i]->naziv_poste;
             }
             array_unshift($poste, "");
             $studija = Vrsta_studija::get();
             $vrste_studija = [];
             for ($i = 0; $i < count($studija); $i++) {
                 $vrste_studija[$i] = $studija[$i]->sifra_vrste_studija . " " . $studija[$i]->opis_vrste_studija;
             }
             $errors = [];
             if ($list['drzavarojstva'] == 0) {
                 $errors[] = "Selektirajte drazavo rojstva!";
             }
             if ($list['krajrojstva'] == 0) {
                 $errors[] = "Selektirajte občino rojstva!";
             }
             if ($list['drzavljanstvo'] == 0) {
                 $errors[] = "Selektirajte drzavljanstvo!";
             }
             if ($list['postastalno'] == 0) {
                 $errors[] = "Selektirajte pošto stalnega bivališča!";
             }
             if ($list['studiskiprogram'] == 0) {
                 $errors[] = "Selektirajte študujski program!";
             }
             if ($list['vrstastudija'] == 0) {
                 $errors[] = "Selektirajte vrsto študija!";
             }
             if ($list['vrstavpisa'] == 0) {
                 $errors[] = "Selektirajte vrsto vpisa!";
             }
             if ($list['letnikdodatno'] == 0) {
                 $errors[] = "Selektirajte letnika!";
             }
             if ($list['nacin'] == 0) {
                 $errors[] = "Selektirajte načina študija!";
             }
             if ($list['oblika'] == 0) {
                 $errors[] = "Selektirajte obliko študija!";
             }
             if (!empty($errors)) {
                 return Redirect::back()->withInput()->withErrors($errors);
             }
             $emso = $list["emso"];
             $datum = $list["datumrojstva"];
             Vpisan_predmet::where('vpisna_stevilka', $list["vstevilka"])->where('sifra_studijskega_leta', substr(date('Y'), 2, 2))->delete();
             $std = Student::where('vpisna_stevilka', $list["vstevilka"])->get()[0];
             $std->ime_studenta = ucfirst(explode(" ", $list["imepriimek"])[0]);
             $std->priimek_studenta = ucfirst(explode(" ", $list["imepriimek"])[1]);
             $std->datum_rojstva = date("Y-m-d", strtotime($datum));
             $std->sifra_obcine_rojstva = Obcina::where('naziv_obcine', $obcine[$list['krajrojstva'] - 1])->pluck('sifra_obcine');
             $std->sifra_drzave_rojstva = Drzava::where('naziv_drzave', $drzave[$list['drzavarojstva'] - 1])->pluck('sifra_drzave');
             $std->sifra_drzave_drzavljanstva = Drzava::where('naziv_drzave', $drzave[$list['drzavljanstvo'] - 1])->pluck('sifra_drzave');
             $std->spol = strtoupper($list["spol"])[0];
             if (Drzava::where('sifra_drzave', $std->sifra_drzave_rojstva)->pluck('naziv_drzave') == "Slovenija" && $std->sifra_obcine_rojstva == 999) {
                 return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država rojstva!");
             } elseif (Drzava::where('sifra_drzave', $std->sifra_drzave_rojstva)->pluck('naziv_drzave') != "Slovenija" && $std->sifra_obcine_rojstva != 999) {
                 return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država rojstva!");
             }
             if (substr($datum, 0, 2) == substr($emso, 0, 2) && substr($datum, 3, 2) == substr($emso, 2, 2) && substr($datum, 7, 3) == substr($emso, 4, 3) && substr($emso, 7, 2) > 49 && substr($emso, 7, 2) < 60) {
                 if ($std->spol == "M" && substr($emso, 9, 3) >= 0 && substr($emso, 9, 3) < 500) {
                     $kontrolna = $emso[0] * 7 + $emso[1] * 6 + $emso[2] * 5 + $emso[3] * 4 + $emso[4] * 3 + $emso[5] * 2 + $emso[6] * 7 + $emso[7] * 6 + $emso[8] * 5 + $emso[9] * 4 + $emso[10] * 3 + $emso[11] * 2;
                     $ost = 11 - $kontrolna % 11;
                     if ($emso[12] == $ost) {
                         $std->emso = $emso;
                     } else {
                         return Redirect::back()->withInput()->withErrors("Napačno EMŠO!!! (kontrolna)");
                     }
                 } elseif (($std->spol == "Z" || $std->spol == "Ž") && substr($emso, 9, 3) >= 500 && substr($emso, 9, 3) < 1000) {
                     $kontrolna = $emso[0] * 7 + $emso[1] * 6 + $emso[2] * 5 + $emso[3] * 4 + $emso[4] * 3 + $emso[5] * 2 + $emso[6] * 7 + $emso[7] * 6 + $emso[8] * 5 + $emso[9] * 4 + $emso[10] * 3 + $emso[11] * 2;
                     $ost = 11 - $kontrolna % 11;
                     if ($emso[12] == $ost) {
                         $std->emso = $emso;
                     } else {
                         return Redirect::back()->withInput()->withErrors("Napačno EMŠO!!! (kontrolna)");
                     }
                 } else {
                     return Redirect::back()->withInput()->withErrors("Napačno EMŠO!!! (spol)");
                 }
             } else {
                 return Redirect::back()->withInput()->withErrors("Napačno EMŠO!!! (datum)");
             }
             $std->davcna_stevilka = $list["davcna"];
             $std->email_studenta = $list["email"];
             $std->prenosni_telefon = $list["gsm"];
             $std->postna_stevilka_stalno = explode(" ", $poste[$list['postastalno']])[0];
             $std->sifra_obcine_stalno = Obcina::where('naziv_obcine', $obcine[$list['obcinastalno'] - 1])->pluck('sifra_obcine');
             $std->sifra_drzave_stalno = Drzava::where('naziv_drzave', $drzave[$list['drzavastalno'] - 1])->pluck('sifra_drzave');
             $std->naslov_stalno = $list["naslovstalno"];
             if (Drzava::where('sifra_drzave', $std->sifra_drzave_stalno)->pluck('naziv_drzave') == "Slovenija" && !$std->sifra_obcine_stalno == 999) {
                 return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država stalnega prebivališča!");
             } elseif (Drzava::where('sifra_drzave', $std->sifra_drzave_stalno)->pluck('naziv_drzave') != "Slovenija" && $std->sifra_obcine_stalno != 999) {
                 return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država stalnega prebivališča!");
             }
             if (!empty($list['obcinazacasno'])) {
                 $std->postna_stevilka_zacasno = explode(" ", $poste[$list['postazacasno']])[0];
                 $std->sifra_obcine_zacasno = Obcina::where('naziv_obcine', $obcine[$list['obcinazacasno'] - 1])->pluck('sifra_obcine');
                 $std->sifra_drzave_zacasno = Drzava::where('naziv_drzave', $drzave[$list['drzavazacasno'] - 1])->pluck('sifra_drzave');
                 $std->naslov_zacasno = $list["naslovzacasno"];
                 if (Drzava::where('sifra_drzave', $std->sifra_drzave_zacasno)->pluck('naziv_drzave') == "Slovenija" && $std->sifra_obcine_zacasno == 999) {
                     return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država začasnega prebivališča!");
                 } elseif (Drzava::where('sifra_drzave', $std->sifra_drzave_zacasno)->pluck('naziv_drzave') != "Slovenija" && $std->sifra_obcine_zacasnoo != 999) {
                     return Redirect::back()->withInput()->withErrors("Izbrana napačna občina ali država začasnega prebivališča!");
                 }
             }
             if ($list['vrocanje'] == 'vstalno') {
                 $std->naslov_vrocanja = $list["naslovstalno"];
             } elseif ($list['vrocanje'] == 'vzacasno') {
                 $std->naslov_vrocanja = $list["naslovzacasno"];
             }
             $std->save();
             $vp = new Vpis();
             $vp->vpisna_stevilka = $list["vstevilka"];
             $vp->sifra_vrste_studija = explode(" ", $vrste_studija[$list['vrstastudija']])[0];
             $vp->sifra_studijskega_programa = $programi[$list['studiskiprogram'] - 1];
             $vp->sifra_vrste_vpisa = $vpisa[$list['vrstavpisa'] - 1];
             $vp->sifra_oblike_studija = $oblike[$list['oblika'] - 1];
             $vp->sifra_studijskega_leta = substr(date('Y'), 2, 2);
             $vp->sifra_nacina_studija = $nacine[$list['nacin'] - 1];
             $vp->sifra_letnika = $lemnik[$list['letnikdodatno'] - 1];
             $prostaizbira = $zet[0]->prosta_izbira_predmetov;
             /*if($vp->sifra_vrste_studija == 16204 && !($vp->sifra_studijskega_programa == 1000425 || $vp->sifra_studijskega_programa == 1000475
                       || $vp->sifra_studijskega_programa == 1001001 || $vp->sifra_studijskega_programa == 1000469))
                   return Redirect::back()->withInput()->withErrors("Napačna kombinacija študijski program + vrsta študija UNI");
               elseif($vp->sifra_vrste_studija == 16203 && !($vp->sifra_studijskega_programa == 1000470 || $vp->sifra_studijskega_programa == 1000477))
                   return Redirect::back()->withInput()->withErrors("Napačna kombinacija študijski program + vrsta študija VS");
               elseif($vp->sifra_vrste_studija == 17003 && !($vp->sifra_studijskega_programa == 1000471 || $vp->sifra_studijskega_programa == 1000934))
                   return Redirect::back()->withInput()->withErrors("Napačna kombinacija študijski program + vrsta študija MAG");*/
             if (array_key_exists('zavod', $list)) {
                 $vp->zavod = $list['zavod'];
             }
             if (array_key_exists('krajizvajanja', $list)) {
                 $vp->kraj_izvajanja = $list['krajizvajanja'];
             }
             /*if($vp->sifra_vrste_vpisa == 1 && $vp->sifra_letnika != $let+1)
                                 return Redirect::back()->withInput()->withErrors("Napačna kombinacija vrsta vpisa + letnik");
                             elseif($vp->sifra_vrste_vpisa == 2 &&  $vp->sifra_letnika != $let)
                                 return Redirect::back()->withInput()->withErrors("Napačna kombinacija vrsta vpisa + letnik");
                             elseif($vp->sifra_vrste_vpisa == 3 &&  $vp->sifra_letnika != $let)
                                 return Redirect::back()->withInput()->withErrors("Napačna kombinacija vrsta vpisa + letnik");
             
                             if($vp->sifra_vrste_vpisa == 2)
                                 Vpisan_predmet::where('vpisna_stevilka', $list['vstevilka'])->where('sifra_letnika', $vp->sifra_letnika)->delete();*/
             $vp->save();
             $obvezni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vp->sifra_studijskega_programa)->where('sifra_letnika', $vp->sifra_letnika)->where('sifra_sestavnega_dela', NULL)->lists('sifra_predmeta');
             $obvezni_predmeti = [];
             $sum = 0;
             for ($i = 0; $i < count($obvezni); $i++) {
                 $obvezni_predmeti[$i] = [Profesor::where('sifra_profesorja', Izvedba_predmeta::where('sifra_predmeta', $obvezni[$i])->pluck('sifra_profesorja'))->pluck('priimek_profesorja'), Profesor::where('sifra_profesorja', Izvedba_predmeta::where('sifra_predmeta', $obvezni[$i])->pluck('sifra_profesorja'))->pluck('ime_profesorja'), Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('naziv_predmeta'), Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('stevilo_KT')];
                 $vpisi = new Vpisan_predmet();
                 $vpisi->vpisna_stevilka = $list["vstevilka"];
                 $vpisi->sifra_studijskega_leta = $vp->sifra_studijskega_leta;
                 $vpisi->sifra_predmeta = $obvezni[$i];
                 $vpisi->sifra_studijskega_programa = $vp->sifra_studijskega_programa;
                 $vpisi->sifra_letnika = $vp->sifra_letnika;
                 $vpisi->sifra_studijskega_leta_izvedbe_predmeta = $vp->sifra_studijskega_leta;
                 $vpisi->save();
                 $sum += Predmet::where('sifra_predmeta', $obvezni[$i])->pluck('stevilo_KT');
             }
             $strokovno_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vp->sifra_studijskega_programa)->where('sifra_letnika', $vp->sifra_letnika)->where('sifra_sestavnega_dela', '6')->lists('sifra_predmeta');
             $strokovni = [];
             for ($i = 0; $i < count($strokovno_izbirni); $i++) {
                 $strokovni[$i] = Predmet::where('sifra_predmeta', $strokovno_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $strokovno_izbirni[$i])->pluck('stevilo_KT') . " KT";
             }
             if (!empty($strokovni)) {
                 array_unshift($strokovni, "");
             }
             $moduli = [];
             if ($vp->sifra_letnika == 3) {
                 $moduli = Sestavni_del_predmetnika::where('sifra_sestavnega_dela', '!=', '6')->where('sifra_sestavnega_dela', '!=', '7')->lists('opis_sestavnega_dela');
                 array_unshift($moduli, "");
             }
             $pomos = $list["vstevilka"] . $vp->sifra_studijskega_leta . $vp->sifra_studijskega_programa . $vp->sifra_letnika . $prostaizbira;
             $modularni = [];
             if ($vp->sifra_letnika == 1) {
                 Zeton::where('vpisna_stevilka', $list['vstevilka'])->where('sifra_studijskega_leta', substr(date('Y'), 2, 2))->where('sifra_letnika', $vp->sifra_letnika)->update(['zeton_porabljen' => 1]);
                 return view('predmeti', ['studijski_program' => $studijski_programi[$list['studiskiprogram'] - 1], 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => [], 'strokovni' => [], 'moduli' => [], 'vpisna' => $pomos, 'modularni' => [], 'tips' => 0]);
             }
             if ($vp->sifra_letnika == 2) {
                 $prosto_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vp->sifra_studijskega_programa)->where('sifra_letnika', $vp->sifra_letnika)->whereBetween('sifra_sestavnega_dela', [6, 7])->lists('sifra_predmeta');
                 $prosti = [];
                 for ($i = 0; $i < count($prosto_izbirni); $i++) {
                     $prosti[$i] = Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('stevilo_KT') . " KT";
                 }
             } else {
                 $prosto_izbirni = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vp->sifra_studijskega_programa)->where('sifra_letnika', $vp->sifra_letnika)->whereNotNull('sifra_sestavnega_dela')->lists('sifra_predmeta');
                 $prosti = [];
                 for ($i = 0; $i < count($prosto_izbirni); $i++) {
                     $prosti[$i] = Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $prosto_izbirni[$i])->pluck('stevilo_KT') . " KT";
                 }
             }
             if (!empty($prosti)) {
                 array_unshift($prosti, "");
             }
             if ($vp->sifra_letnika == 3 && $prostaizbira == 1) {
                 $modpredmeti = Predmet_studijskega_programa::where('sifra_studijskega_programa', $vp->sifra_studijskega_programa)->where('sifra_letnika', $vp->sifra_letnika)->where('sifra_sestavnega_dela', '!=', '6')->where('sifra_sestavnega_dela', '!=', '7')->whereNotNull('sifra_sestavnega_dela')->lists('sifra_predmeta');
                 for ($i = 0; $i < count($modpredmeti); $i++) {
                     $modularni[$i] = Predmet::where('sifra_predmeta', $modpredmeti[$i])->pluck('naziv_predmeta') . " - " . Predmet::where('sifra_predmeta', $modpredmeti[$i])->pluck('stevilo_KT') . " KT";
                 }
                 if (!empty($modularni)) {
                     array_unshift($modularni, "");
                 }
             }
             return view('predmeti', ['studijski_program' => $studijski_programi[$list['studiskiprogram'] - 1], 'predmeti' => $obvezni_predmeti, 'sum' => $sum, 'prosti' => $prosti, 'strokovni' => $strokovni, 'moduli' => $moduli, 'vpisna' => $pomos, 'modularni' => $modularni, 'tips' => 0]);
         }
     }
 }