, */ require_once('../config/system.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/studiengang.class.php'); require_once('../include/studienordnung.class.php'); require_once('../include/benutzerberechtigung.class.php'); require_once('../include/studienplan.class.php'); require_once('../include/lehrveranstaltung.class.php'); $uid = get_uid(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); if(!$rechte->isBerechtigt('admin')) die('Keine berechtigung'); $studiengang = new studiengang(); $studiengang->getAll('typ, kurzbz',true); $db = new basis_db(); // Alle Studiengaenge durchlaufen foreach($studiengang->result as $rowstg) { /* $qry = "SELECT studiensemester_kurzbz FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($rowstg->studiengang_kz, FHC_INTEGER)." ORDER BY tbl_studiensemester.start LIMIT 1"; */ $stsem = 'WS2013'; /* if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result)) { $stsem = $row->studiensemester_kurzbz; } } */ // eine Neue Studienordnung anlegen $studienordnung = new studienordnung(); $studienordnung->studiengang_kz=$rowstg->studiengang_kz; $studienordnung->bezeichnung=sprintf('%04s',$rowstg->studiengang_kz).'-'.$rowstg->kuerzel.'-'.$stsem; $studienordnung->version='01'; $studienordnung->ects=($rowstg->max_semester*30); $studienordnung->gueltigvon=$stsem; $studienordnung->gueltigbis=''; $studienordnung->studiengangbezeichnung = $rowstg->bezeichnung; $studienordnung->studiengangbezeichnung_englisch = $rowstg->english; $studienordnung->studiengangkurzbzlang = $rowstg->kurzbzlang; $studienordnung->insertvon = 'generate'; $studienordnung->akadgrad_id=1; if(!$studienordnung->save()) { echo 'Fehler bei Stg'.$rowstg->studiengang_kz.$studienordnung->errormsg; continue; } else $studienordnung_id = $studienordnung->studienordnung_id; // Studienplan anlegen if($rowstg->mischform) { $qry = "SELECT distinct orgform_kurzbz FROM lehre.tbl_lehrveranstaltung WHERE tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($rowstg->studiengang_kz); if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { if($row->orgform_kurzbz!='') createStudienplan($row->orgform_kurzbz, $studienordnung_id, $rowstg, $studienordnung->bezeichnung); } } } else { createStudienplan($rowstg->orgform_kurzbz, $studienordnung_id, $rowstg, $studienordnung->bezeichnung); } } /* $qry = "SELECT * FROM public.tbl_studiensemester WHERE begindb_query($qry)) { while($row_stsem = $db->db_fetch_object($result_stsem)) { $stsem[] = $row_stsem->studiensemester_kurzbz; } } */ $qry="SELECT *, (Select max_semester FROM public.tbl_studiengang where studiengang_kz=a.studiengang_kz) as max_semester FROM lehre.tbl_studienordnung as a WHERE studienordnung_id=(Select max(studienordnung_id) FROM lehre.tbl_studienordnung WHERE studiengang_kz=a.studiengang_kz)"; if($result_sto = $db->db_query($qry)) { while($row_sto = $db->db_fetch_object($result_sto)) { echo $row_sto->bezeichnung.'
'; for($i=1;$i<=$row_sto->max_semester;$i++) { $qry="INSERT INTO lehre.tbl_studienordnung_semester(studienordnung_id, semester, studiensemester_kurzbz) VALUES(".$db->db_add_param($row_sto->studienordnung_id).','.$i.','; $stsem_arr=array('WS2013','SS2014','WS2014'); foreach($stsem_arr as $studiensemester) { $db->db_query($qry.$db->db_add_param($studiensemester).');'); } } } } function createStudienplan($orgform, $studienordnung_id, $rowstg, $studienordnungbezeichnung) { global $db; $studienplan = new studienplan(); $studienplan->studienordnung_id = $studienordnung_id; $studienplan->orgform_kurzbz=$orgform; $studienplan->version = 'V1'; $studienplan->bezeichnung = $studienordnungbezeichnung.'-'.$orgform; $studienplan->regelstudiendauer = $rowstg->max_semester; $studienplan->sprache = $rowstg->sprache; $studienplan->aktiv = true; $wochen='15'; $qry = "SELECT wochen FROM public.tbl_semesterwochen WHERE studiengang_kz=".$db->db_add_param($rowstg->studiengang_kz)." LIMIT 1"; if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result)) { $wochen = $row->wochen; } } $studienplan->semesterwochen = $wochen; $studienplan->testtool_sprachwahl = true;//$db->db_parse_bool($rowstg->testtool_sprachwahl); $studienplan->insertvon = 'generate'; if(!$studienplan->save()) { echo 'Studienplan failed for '.$rowstg->studiengang_kz.$studienplan->errormsg; return false; } else $studienplan_id = $studienplan->studienplan_id; $qry = "SELECT distinct lehrveranstaltung_id, semester, koordinator FROM lehre.tbl_lehrveranstaltung WHERE tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($rowstg->studiengang_kz)." AND (orgform_kurzbz is null or orgform_kurzbz=".$db->db_add_param($orgform).") AND lehrtyp_kurzbz<>'lf' AND tbl_lehrveranstaltung.aktiv"; if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { $lehrveranstaltung = new studienplan(); $lehrveranstaltung->new=true; $lehrveranstaltung->studienplan_id=$studienplan_id; $lehrveranstaltung->semester=$row->semester; $lehrveranstaltung->pflicht=true; $lehrveranstaltung->koordinator = $row->koordinator; $lehrveranstaltung->lehrveranstaltung_id=$row->lehrveranstaltung_id; $lehrveranstaltung->insertvon='generate'; $lehrveranstaltung->saveStudienplanLehrveranstaltung(); } } } ?>