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]); } } }