diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php index 92e23f873..2fe68d262 100644 --- a/include/benutzerberechtigung.class.php +++ b/include/benutzerberechtigung.class.php @@ -433,8 +433,11 @@ class benutzerberechtigung extends basis_db * Funktion getBerechtigungen aufgerufen werden. * * @param $berechtigung - * @param $oe_kurzbz - * @param $art + * @param $oe_kurzbz + * derzeit kann hier noch die Studiengangskennzahl uebergeben werden, + * dies wird in Zukunft aber nicht mehr moeglich sein + * @param $art suid (select|update|insert|delete) + * @param $fachbereich_kurzbz DEPRECATED * @return true wenn eine Berechtigung entspricht. */ public function isBerechtigt($berechtigung_kurzbz,$oe_kurzbz=null,$art=null, $fachbereich_kurzbz=null) @@ -484,7 +487,15 @@ class benutzerberechtigung extends basis_db } } - return false; + //wenn ein Doppelpunkt vorkommt, pruefen ob das Uebergeordnete vorhanden ist + if($pos=mb_strpos($berechtigung_kurzbz,':')===false) + { + return false; + } + else + { + return $this->isBerechtigt(substr($berechtigung_kurzbz,0,$pos-1), $oe_kurzbz, $art, $fachbereich_kurzbz); + } } /** @@ -546,6 +557,11 @@ class benutzerberechtigung extends basis_db else $in = ' AND oe_kurzbz IN('.mb_substr($in,0, mb_strlen($in)-1).')'; } + else + { + $in=''; + $not=''; + } if($not!='') $not = ' AND oe_kurzbz NOT IN('.mb_substr($not,0, mb_strlen($not)-1).')'; diff --git a/include/studiengang.class.php b/include/studiengang.class.php index 3f8e17970..9772621e3 100644 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -46,18 +46,18 @@ class studiengang extends basis_db public $bescheidvom; // Date public $titelbescheidvom; // Date public $ext_id; // bigint - public $orgform_kurzbz; - public $zusatzinfo_html; - public $sprache; - public $testtool_sprachwahl; - public $studienplaetze; - public $oe_kurzbz; + public $orgform_kurzbz; // varchar(3) + public $zusatzinfo_html; // text + public $sprache; // varchar(16) + public $testtool_sprachwahl;// boolean + public $studienplaetze; // smallint + public $oe_kurzbz; // varchar(32) - public $kuerzel; // = typ + kurzbz (Bsp: BBE) - - public $studiengang_typ_arr = array(); - public $kuerzel_arr = array(); - public $moodle; // boolean + public $kuerzel; // = typ + kurzbz (Bsp: BBE) + public $studiengang_typ_arr = array(); // Array mit den Studiengangstypen + public $kuerzel_arr = array(); // Array mit allen Kurzeln Index=studiengangs_kz + public $moodle; // boolean + public $lgartcode; //integer /** * Konstruktor @@ -121,7 +121,7 @@ class studiengang extends basis_db $this->testtool_sprachwahl = ($row->testtool_sprachwahl=='t'?true:false); $this->studienplaetze = $row->studienplaetze; $this->oe_kurzbz = $row->oe_kurzbz; - + $this->lgartcode = $row->lgartcode; $this->telefon=$row->telefon; $this->titelbescheidvom=$row->titelbescheidvom; $this->aktiv=($row->aktiv=='t'?true:false); @@ -148,18 +148,18 @@ class studiengang extends basis_db { $qry = 'SELECT * FROM public.tbl_studiengang'; if ($aktiv) - $qry.=' WHERE aktiv'; + $qry.=' WHERE aktiv=true'; if($order!=null) $qry .=" ORDER BY $order"; - if(!$this->db_query($qry)) + if(!$result = $this->db_query($qry)) { $this->errormsg = 'Datensatz konnte nicht geladen werden'; return false; } - while($row = $this->db_fetch_object()) + while($row = $this->db_fetch_object($result)) { $stg_obj = new studiengang(); @@ -188,7 +188,7 @@ class studiengang extends basis_db $stg_obj->testtool_sprachwahl = ($row->testtool_sprachwahl=='t'?true:false); $stg_obj->studienplaetze = $row->studienplaetze; $stg_obj->oe_kurzbz = $row->oe_kurzbz; - + $stg_obj->lgartcode = $row->lgartcode; $stg_obj->telefon=$row->telefon; $stg_obj->titelbescheidvom=$row->titelbescheidvom; $stg_obj->aktiv=($row->aktiv=='t'?true:false); @@ -200,7 +200,76 @@ class studiengang extends basis_db return true; } + + /** + * Laedt die Studiengaenge die als Array uebergeben werden + * @param $stgs Array mit den Kennzahlen + * @param $order Sortierreihenfolge + * @param $aktiv wenn true dann nur aktive sonst alle + * @return true wenn ok, false im Fehlerfall + */ + public function loadArray($kennzahlen, $order=null, $aktiv=true) + { + if(count($kennzahlen)==0) + return true; + $kennzahlen = "'".implode("','",$kennzahlen)."'"; + + $qry = 'SELECT * FROM public.tbl_studiengang WHERE studiengang_kz in('.$kennzahlen.')'; + if ($aktiv) + $qry.=' AND aktiv=true'; + + if($order!=null) + $qry .=" ORDER BY $order"; + + if(!$result = $this->db_query($qry)) + { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + + while($row = $this->db_fetch_object($result)) + { + $stg_obj = new studiengang(); + + $stg_obj->studiengang_kz=$row->studiengang_kz; + $stg_obj->kurzbz=$row->kurzbz; + $stg_obj->kurzbzlang=$row->kurzbzlang; + $stg_obj->bezeichnung=$row->bezeichnung; + $stg_obj->english=$row->english; + $stg_obj->typ=$row->typ; + $stg_obj->farbe=$row->farbe; + $stg_obj->email=$row->email; + $stg_obj->max_semester=$row->max_semester; + $stg_obj->max_verband=$row->max_verband; + $stg_obj->max_gruppe=$row->max_gruppe; + $stg_obj->erhalter_kz=$row->erhalter_kz; + $stg_obj->bescheid=$row->bescheid; + $stg_obj->bescheidbgbl1=$row->bescheidbgbl1; + $stg_obj->bescheidbgbl2=$row->bescheidbgbl2; + $stg_obj->bescheidgz=$row->bescheidgz; + $stg_obj->bescheidvom=$row->bescheidvom; + $stg_obj->ext_id=$row->ext_id; + $stg_obj->kuerzel = mb_strtoupper($row->typ.$row->kurzbz); + $stg_obj->orgform_kurzbz = $row->orgform_kurzbz; + $stg_obj->zusatzinfo_html = $row->zusatzinfo_html; + $stg_obj->sprache = $row->sprache; + $stg_obj->testtool_sprachwahl = ($row->testtool_sprachwahl=='t'?true:false); + $stg_obj->studienplaetze = $row->studienplaetze; + $stg_obj->oe_kurzbz = $row->oe_kurzbz; + $stg_obj->lgartcode = $row->lgartcode; + $stg_obj->telefon=$row->telefon; + $stg_obj->titelbescheidvom=$row->titelbescheidvom; + $stg_obj->aktiv=($row->aktiv=='t'?true:false); + $stg_obj->moodle=($row->moodle=='t'?true:false); + + $this->result[] = $stg_obj; + $this->kuerzel_arr[$row->studiengang_kz]=$stg_obj->kuerzel; + } + + return true; + } + /** * Prueft die Gueltigkeit der Variablen * @return true wenn ok, false im Fehlerfall @@ -239,22 +308,27 @@ class studiengang extends basis_db /** * Speichert den aktuellen Datensatz + * @param $new boolean Legt fest ob der Datensatz neu angelegt wird oder nicht * @return true wenn ok, false im Fehlerfall */ - public function save() + public function save($new=null) { + if(is_null($new)) + $new = $this->new; + //Gueltigkeit der Variablen pruefen if(!$this->validate()) { return false; } - if($this->new) + if($new) { //Neuen Datensatz anlegen $qry = 'INSERT INTO public.tbl_studiengang (studiengang_kz, kurzbz, kurzbzlang, bezeichnung, english, typ, farbe, email, telefon, max_verband, max_semester, max_gruppe, erhalter_kz, bescheid, bescheidbgbl1, - bescheidbgbl2, bescheidgz, bescheidvom, titelbescheidvom, aktiv, ext_id, orgform_kurzbz, zusatzinfo_html, oe_kurzbz) VALUES ('. + bescheidbgbl2, bescheidgz, bescheidvom, titelbescheidvom, aktiv, ext_id, orgform_kurzbz, zusatzinfo_html, + oe_kurzbz, moodle, sprache, testtool_sprachwahl, studienplaetze, lgartcode) VALUES ('. $this->addslashes($this->studiengang_kz).', '. $this->addslashes($this->kurzbz).', '. $this->addslashes($this->kurzbzlang).', '. @@ -274,11 +348,16 @@ class studiengang extends basis_db $this->addslashes($this->bescheidgz).', '. $this->addslashes($this->bescheidvom).', '. $this->addslashes($this->titelbescheidvom).', '. - $this->addslashes($this->aktiv).', '. + ($this->aktiv?'true':'false').', '. $this->addslashes($this->ext_id).', '. $this->addslashes($this->orgform_kurzbz).', '. $this->addslashes($this->zusatzinfo_html).', '. - $this->addslashes($this->oe_kurzbz).';'; + $this->addslashes($this->oe_kurzbz).', '. + ($this->moodle?'true':'false').', '. + $this->addslashes($this->sprache).', '. + ($this->testtool_sprachwahl?'true':'false').', '. + $this->addslashes($this->studienplaetze).', '. + $this->addslashes($this->lgartcode).');'; } else { @@ -306,9 +385,14 @@ class studiengang extends basis_db 'ext_id='.$this->addslashes($this->ext_id).', '. 'telefon='.$this->addslashes($this->telefon).', '. 'orgform_kurzbz='.$this->addslashes($this->orgform_kurzbz).', '. - 'aktiv='.$this->addslashes($this->aktiv).', '. + 'aktiv='.($this->aktiv?'true':'false').', '. 'oe_kurzbz='.$this->addslashes($this->oe_kurzbz).','. - 'zusatzinfo_html='.$this->addslashes($this->zusatzinfo_html).' '. + 'zusatzinfo_html='.$this->addslashes($this->zusatzinfo_html).', '. + 'moodle='.($this->moodle?'true':'false').', '. + 'sprache='.$this->addslashes($this->sprache).', '. + 'testtool_sprachwahl='.($this->testtool_sprachwahl?'true':'false').', '. + 'studienplaetze='.$this->addslashes($this->studienplaetze).', '. + 'lgartcode='.$this->addslashes($this->lgartcode).' '. 'WHERE studiengang_kz='.$this->addslashes($this->studiengang_kz).';'; } diff --git a/vilesci/personen/student_vorrueckung.php b/vilesci/personen/student_vorrueckung.php index ecb79eb80..8044dfed9 100644 --- a/vilesci/personen/student_vorrueckung.php +++ b/vilesci/personen/student_vorrueckung.php @@ -20,29 +20,33 @@ * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ - - require_once('../../config/vilesci.config.inc.php'); - require_once('../../include/basis_db.class.php'); - if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - -/* -Vorrückung aller AKTIVEN Studenten. -*/ - +/** + * Vorrückung aller AKTIVEN Studenten. + */ +require_once('../../config/vilesci.config.inc.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/studiensemester.class.php'); require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); function myaddslashes($var) { return ($var!=''?"'".addslashes($var)."'":'null'); } +$user = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if(!$rechte->isBerechtigt('student/vorrueckung', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + $ausbildungssemester=0; $s=new studiengang(); -$s->getAll('typ, kurzbz', true); +$s->loadArray($rechte->getStgKz('student/vorrueckung'),'typ, kurzbz', true); $studiengang=$s->result; //Einlesen der studiensemester in einen Array @@ -53,8 +57,6 @@ foreach($ss->studiensemester as $studiensemester) $ss_arr[] = $studiensemester->studiensemester_kurzbz; } -$user = get_uid(); - //Übergabeparameter //studiengang if (isset($_GET['stg_kz']) || isset($_POST['stg_kz'])) @@ -63,7 +65,7 @@ if (isset($_GET['stg_kz']) || isset($_POST['stg_kz'])) } else { - $stg_kz=0; + $stg_kz=$studiengang[0]->studiengang_kz; } //semester anzeige if (isset($_GET['semester']) || isset($_POST['semester'])) @@ -159,13 +161,21 @@ $outp=''; // ****************************** Vorrücken ****************************** if (isset($_POST['vorr'])) { -//select für die Vorrückung -$sql_query="SELECT tbl_student.*,tbl_person.*, tbl_studentlehrverband.semester as semester_stlv, tbl_studentlehrverband.verband as verband_stlv, - tbl_studentlehrverband.gruppe as gruppe_stlv FROM tbl_studentlehrverband JOIN tbl_student USING (student_uid) - JOIN tbl_benutzer ON (student_uid=uid) - JOIN tbl_person USING (person_id) - WHERE tbl_benutzer.aktiv AND tbl_studentlehrverband.studiengang_kz='$stg_kz' - AND studiensemester_kurzbz='$studiensemester_kurzbz_akt'"; + $stg_help = new studiengang(); + if(!$stg_help->load($stg_kz)) + die("Studiengang mit der Kennzahl $stg_kz kann nicht geladen werden"); + + if(!$rechte->isBerechtigt('student/vorrueckung',$stg_help->oe_kurzbz, 'suid')) + die('Sie haben keine Berechtigung fuer diese Aktion'); + + //select für die Vorrückung + $sql_query="SELECT tbl_student.*,tbl_person.*, tbl_studentlehrverband.semester as semester_stlv, tbl_studentlehrverband.verband as verband_stlv, + tbl_studentlehrverband.gruppe as gruppe_stlv FROM tbl_studentlehrverband JOIN tbl_student USING (student_uid) + JOIN tbl_benutzer ON (student_uid=uid) + JOIN tbl_person USING (person_id) + WHERE tbl_benutzer.aktiv AND tbl_studentlehrverband.studiengang_kz='$stg_kz' + AND studiensemester_kurzbz='$studiensemester_kurzbz_akt'"; + if($semester<100) { $sql_query.="AND tbl_studentlehrverband.semester='$semesterv' "; //semester = 100 wählt alle aus diff --git a/vilesci/personen/student_vorrueckung_manuell.php b/vilesci/personen/student_vorrueckung_manuell.php deleted file mode 100644 index 6cdb00f19..000000000 --- a/vilesci/personen/student_vorrueckung_manuell.php +++ /dev/null @@ -1,327 +0,0 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ - - -/* -Vorrückung aller AKTIVEN Studenten ins nächste Semester. -*/ - - - require_once('../../config/vilesci.config.inc.php'); - require_once('../../include/basis_db.class.php'); - if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - - -require_once('../../include/studiengang.class.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/functions.inc.php'); - -function myaddslashes($var) -{ - return ($var!=''?"'".addslashes($var)."'":'null'); -} - -$ausbildungssemester=0; -$s=new studiengang(); -$s->getAll('typ, kurzbz', true); -$studiengang=$s->result; - -//Einlesen der studiensemester in einen Array -$ss = new studiensemester(); -$ss->getAll(); -foreach($ss->studiensemester as $studiensemester) -{ - $ss_arr[] = $studiensemester->studiensemester_kurzbz; -} - -$user = get_uid(); - -//Übergabeparameter -if (isset($_GET['stg_kz']) || isset($_POST['stg_kz'])) - $stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']); -else - $stg_kz=0; -if (isset($_GET['semester']) || isset($_POST['semester'])) - $semester=(isset($_GET['semester'])?$_GET['semester']:$_POST['semester']); -else - $semester=100; -if (isset($_GET['studiensemester_kurzbz']) || isset($_POST['studiensemester_kurzbz'])) - $studiensemester_kurzbz=(isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:$_POST['studiensemester_kurzbz']); -else - $studiensemester_kurzbz=null; -if (is_null($studiensemester_kurzbz)) -{ - $studiensemester_kurzbz=$ss->getakt(); -} -//$studiensemester_kurzbz_akt=$ss->getakt(); //aktuelles Semester -if (isset($_GET['studiensemester_kurzbz_akt']) || isset($_POST['studiensemester_kurzbz_akt'])) - $studiensemester_kurzbz_akt=(isset($_GET['studiensemester_kurzbz_akt'])?$_GET['studiensemester_kurzbz_akt']:$_POST['studiensemester_kurzbz_akt']); -else - die("Aktuelles Studiensemester wurde nicht übergeben."); - -/*$ss->getNextStudiensemester(); -$studiensemester_kurzbz_zk=$ss->studiensemester_kurzbz; //nächstes Semester*/ -if (isset($_GET['studiensemester_kurzbz_zk']) || isset($_POST['studiensemester_kurzbz_zk'])) - $studiensemester_kurzbz_zk=(isset($_GET['studiensemester_kurzbz_zk'])?$_GET['studiensemester_kurzbz_zk']:$_POST['studiensemester_kurzbz_zk_']); -else - die("Nächstes Studiensemester wurde nicht übergeben."); - -if(!is_numeric($stg_kz)) - $stg_kz=0; -//semester=100 bedeutet die Auswahl aller Semester -if(!is_numeric($semester)) - $semester=100; - -//Einlesen der maximalen, regulären Dauer der Studiengänge in einen Array -$qry_stg="SELECT * FROM public.tbl_studiengang"; -if ($result_stg=$db->db_query($qry_stg)) -{ - while($row_stg=$db->db_fetch_object($result_stg)) - { - $max[$row_stg->studiengang_kz]=$row_stg->max_semester; - } -} - -//select für die Anzeige -$sql_query="SELECT tbl_student.*,tbl_person.*, tbl_studentlehrverband.semester as semester_stlv, tbl_studentlehrverband.verband as verband_stlv, - tbl_studentlehrverband.gruppe as gruppe_stlv FROM tbl_studentlehrverband JOIN tbl_student USING (student_uid) - JOIN tbl_benutzer ON (student_uid=uid) - JOIN tbl_person USING (person_id) - WHERE tbl_benutzer.aktiv AND tbl_studentlehrverband.studiengang_kz='$stg_kz' - AND studiensemester_kurzbz='$studiensemester_kurzbz' "; -if($semester<100) -{ - $sql_query.="AND tbl_studentlehrverband.semester='$semester' "; //semester = 100 wählt alle aus -} -$sql_query.="ORDER BY semester, nachname"; - -//echo $sql_query; -if (!$result_std=$db->db_query($sql_query)) - error("Studenten not found!"); -$outp=''; - -// ****************************** Vorrücken ****************************** -if (isset($_POST['vorr'])) -{ -//select für die Vorrückung -$sql_query="SELECT tbl_student.*,tbl_person.*, tbl_studentlehrverband.semester as semester_stlv, tbl_studentlehrverband.verband as verband_stlv, - tbl_studentlehrverband.gruppe as gruppe_stlv FROM tbl_studentlehrverband JOIN tbl_student USING (student_uid) - JOIN tbl_benutzer ON (student_uid=uid) - JOIN tbl_person USING (person_id) - WHERE tbl_benutzer.aktiv AND tbl_studentlehrverband.studiengang_kz='$stg_kz' - AND studiensemester_kurzbz='$studiensemester_kurzbz_akt'"; - if($semester<100) - { - $sql_query.="AND tbl_studentlehrverband.semester='$semester' "; //semester = 100 wählt alle aus - } - $sql_query.="ORDER BY semester, nachname"; - - //echo $sql_query; - if (!$result_std=$db->db_query($sql_query)) - error("Studenten not found!"); - $next_ss=$studiensemester_kurzbz_zk; - while($row=$db->db_fetch_object($result_std)) - { - //aktuelle Rolle laden - $qry_status="SELECT status_kurzbz, ausbildungssemester FROM public.tbl_prestudentstatus JOIN public.tbl_prestudent USING(prestudent_id) - WHERE person_id=".myaddslashes($row->person_id)." - AND studiengang_kz=".$row->studiengang_kz." - AND studiensemester_kurzbz=".myaddslashes($studiensemester_kurzbz_akt)." - ORDER BY datum desc, tbl_prestudentstatus.insertamum desc, tbl_prestudentstatus.ext_id desc LIMIT 1;"; - if ($result_status=$db->db_query($qry_status)) - { - if($row_status=$db->db_fetch_object($result_status)) - { - //Studenten im letzten Semester bleiben dort, wenn aktiv - if($row->semester_stlv>=$max[$stg_kz] || $row->semester_stlv==0) - { - $s=$row->semester_stlv; - } - else - { - $s=$row->semester_stlv+1; - } - if($row_status->ausbildungssemester>=$max[$stg_kz] || $row_status->status_kurzbz=="Unterbrecher") - { - $ausbildungssemester=$row_status->ausbildungssemester; - } - else - { - $ausbildungssemester=$row_status->ausbildungssemester+1; - } - //Lehrverbandgruppe anlegen, wenn noch nicht vorhanden - $qry_lvb="SELECT * FROM public.tbl_lehrverband - WHERE studiengang_kz=".myaddslashes($row->studiengang_kz)." AND semester=".myaddslashes($s)." - AND verband=".myaddslashes($row->verband_stlv)." AND gruppe=".myaddslashes($row->gruppe_stlv).";"; - if($db->db_num_rows($db->db_query($qry_lvb))<1) - { - $lvb_ins="INSERT INTO public.tbl_lehrverband VALUES (". - myaddslashes($row->studiengang_kz).", ". - myaddslashes($s).", ". - myaddslashes($row->verband_stlv).", ". - myaddslashes($row->gruppe_stlv).", - TRUE, NULL, NULL);"; - if (!$r=$db->db_query($lvb_ins)) - die($db->db_last_error()); - } - //Überprüfen ob Eintrag schon vorhanden - $qry_chk="SELECT * FROM public.tbl_studentlehrverband - WHERE student_uid=".myaddslashes($row->student_uid)." - AND studiensemester_kurzbz=".myaddslashes($next_ss)." - AND studiengang_kz=".myaddslashes($row->studiengang_kz)." - AND semester=".$s.";"; - $sql=''; - if($db->db_num_rows($db->db_query($qry_chk))<1) - { - //Eintragen der neuen Gruppe - $sql="INSERT INTO tbl_studentlehrverband - VALUES ('$row->student_uid','$next_ss','$row->studiengang_kz', - '$s','$row->verband_stlv','$row->gruppe_stlv',NULL,NULL,now(),'$user',NULL);"; - } - $qry_chk="SELECT * FROM public.tbl_prestudentstatus - WHERE prestudent_id=".myaddslashes($row->prestudent_id)." - AND studiensemester_kurzbz=".myaddslashes($next_ss).";"; - if($db->db_num_rows($db->db_query($qry_chk))<1) - { - //Eintragen des neuen Status - $sql.="INSERT INTO tbl_prestudentstatus - VALUES ($row->prestudent_id, '$row_status->status_kurzbz', '$next_ss', - $ausbildungssemester, now(), now(), '$user', - NULL, NULL, NULL, NULL);"; - } - if($sql!='') - { - if (!$r=$db->db_query($sql)) - { - die($db->db_last_error()."
".$sql); - } - } - } - } - } - -} - -// **************** Ausgabe vorbereiten ****************************** -$s=array(); -$outp.="'; -//Auswahl Studiensemester -$outp.="\n"; -$outp.="
Vorrückung von ".$studiensemester_kurzbz_akt." / Semester ".($semester<100?$semester:'alle')." -> ".$studiensemester_kurzbz_zk; -$outp.= '
-- '; -for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++) - $outp.= ''.$i.' -- '; -$outp.= 'alle -- '; -//Aufbau Ausgabe -?> - - -Studenten Vorrueckung - - - - - - -Studenten Vorrückung (".$s[$stg_kz]->kurzbz." - ".($semester<100?$semester:'alle')." - ". - $studiensemester_kurzbz."), DB:".DB_NAME.""; - -echo '
'; -echo '
'; -echo $outp; -echo ''; -echo ''; -echo ' 
'; -echo '
'; - -echo "

Übersicht

- - - "; - -if ($result_std!=0) -{ - $num_rows=$db->db_num_rows($result_std); - echo 'Anzahl: '.$num_rows; - echo "\n"; - echo ""; - echo ""; - for($i=0;$i<$num_rows;$i++) - { - $row=$db->db_fetch_object($result_std,$i); - $qry_status="SELECT status_kurzbz, ausbildungssemester FROM public.tbl_prestudentstatus - JOIN public.tbl_prestudent USING(prestudent_id) WHERE person_id=".myaddslashes($row->person_id)." - AND studiengang_kz=".$row->studiengang_kz." - AND studiensemester_kurzbz=".myaddslashes($studiensemester_kurzbz)." - ORDER BY datum desc, tbl_prestudentstatus.insertamum desc, tbl_prestudentstatus.ext_id desc LIMIT 1;"; - if ($result_status=$db->db_query($qry_status)) - { - if($row_status=$db->db_fetch_object($result_status)) - { - echo ""; - echo ""; - echo "\n"; - } - else - { - echo ""; - echo ""; - echo "\n"; - } - } - else - { - error("Roles not found!"); - } - } -} -else - echo "Kein Eintrag gefunden!"; -?> - -
NachnameVornameSTGSemVerGrpStatusAusbSem
$row->nachname$row->vorname$row->studiengang_kz$row->semester_stlv$row->verband_stlv$row->gruppe_stlv$row_status->status_kurzbz$row_status->ausbildungssemester
$row->nachname$row->vorname$row->studiengang_kz$row->semester_stlv$row->verband_stlv$row->gruppe_stlv
- -
- - \ No newline at end of file diff --git a/vilesci/stammdaten/studiengang_details.php b/vilesci/stammdaten/studiengang_details.php index f5b3f8017..63db32253 100644 --- a/vilesci/stammdaten/studiengang_details.php +++ b/vilesci/stammdaten/studiengang_details.php @@ -20,6 +20,9 @@ * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ +/** + * Seite zur Wartung der Studiengaenge + */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/globals.inc.php'); require_once('../../include/functions.inc.php'); @@ -40,7 +43,7 @@ require_once('../../include/benutzerberechtigung.class.php'); $reloadstr = ''; // neuladen der liste im oberen frame $htmlstr = ''; - $errorstr = ''; //fehler beim insert + $errorstr = ''; $sel = ''; $chk = ''; @@ -65,47 +68,67 @@ require_once('../../include/benutzerberechtigung.class.php'); $bescheidbgbl2 = ''; $bescheidgz = ''; $bescheidvom = ''; - $organisationsform = ''; $titelbescheidvom = ''; $zusatzinfo_html = ''; $ext_id = ''; - $aktiv = "t"; - $neu = "true"; + $aktiv = true; + $neu = 'true'; $oe_kurzbz=''; + $moodle = true; + $sprache = ''; + $testtool_sprachwahl = false; + $studienplaetze = ''; + $orgform_kurzbz = ''; + $lgartcode=''; - if(isset($_POST["schick"])) + if(isset($_POST['schick'])) { - $studiengang_kz = $_POST["studiengang_kz"]; + $studiengang_kz = $_POST['studiengang_kz']; - if(!$rechte->isBerechtigt('basis/studiengang', $studiengang_kz, 'su')) - die('Sie haben keine Rechte fuer diese Aktion'); + if($_POST['neu']=='true') + { + if(!$rechte->isBerechtigt('basis/studiengang', null, 'suid')) + die('Sie haben keine Rechte fuer diese Aktion'); + } + else + { + $stg_hlp = new studiengang(); + if(!$stg_hlp->load($studiengang_kz)) + die('Fehler beim Laden des Studienganges: '.$stg_hlp->errormsg); + + if(!$rechte->isBerechtigt('basis/studiengang', $stg_hlp->oe_kurzbz, 'su')) + die('Sie haben keine Rechte fuer diese Aktion'); + } - $kurzbz = $_POST["kurzbz"]; - $kurzbzlang = $_POST["kurzbzlang"]; - $typ = $_POST["typ"]; - $bezeichnung = $_POST["bezeichnung"]; - $english = $_POST["english"]; - $farbe = $_POST["farbe"]; - $email = $_POST["email"]; - $telefon = $_POST["telefon"]; - $max_semester = $_POST["max_semester"]; - $max_verband = $_POST["max_verband"]; - $max_gruppe = $_POST["max_gruppe"]; - $erhalter_kz = $_POST["erhalter_kz"]; - $bescheid = $_POST["bescheid"]; - $bescheidbgbl1 = $_POST["bescheidbgbl1"]; - $bescheidbgbl2 = $_POST["bescheidbgbl1"]; - $bescheidgz = $_POST["bescheidgz"]; - $bescheidvom = $_POST["bescheidvom"]; - $organisationsform = $_POST["organisationsform"]; - $oe_kurzbz = $_POST["oe_kurzbz"]; - $titelbescheidvom = $_POST["titelbescheidvom"]; + $kurzbz = $_POST['kurzbz']; + $kurzbzlang = $_POST['kurzbzlang']; + $typ = $_POST['typ']; + $bezeichnung = $_POST['bezeichnung']; + $english = $_POST['english']; + $farbe = $_POST['farbe']; + $email = $_POST['email']; + $telefon = $_POST['telefon']; + $max_semester = $_POST['max_semester']; + $max_verband = $_POST['max_verband']; + $max_gruppe = $_POST['max_gruppe']; + $erhalter_kz = $_POST['erhalter_kz']; + $bescheid = $_POST['bescheid']; + $bescheidbgbl1 = $_POST['bescheidbgbl1']; + $bescheidbgbl2 = $_POST['bescheidbgbl1']; + $bescheidgz = $_POST['bescheidgz']; + $bescheidvom = $_POST['bescheidvom']; + $oe_kurzbz = $_POST['oe_kurzbz']; + $titelbescheidvom = $_POST['titelbescheidvom']; $zusatzinfo_html = $_POST['zusatzinfo_html']; - if(isset($_POST["aktiv"])) - $aktiv = $_POST["aktiv"]; - else - $aktiv = "f"; - $ext_id = $_POST["ext_id"]; + $moodle = isset($_POST['moodle']); + $sprache = $_POST['sprache']; + $testtool_sprachwahl = isset($_POST['testtool_sprachwahl']); + $studienplaetze = $_POST['studienplaetze']; + $orgform_kurzbz = $_POST['orgform_kurzbz']; + $lgartcode = $_POST['lgartcode']; + $aktiv = isset($_POST['aktiv']); + + $ext_id = $_POST['ext_id']; $sg_update = new studiengang(); $sg_update->studiengang_kz = $studiengang_kz; @@ -126,15 +149,20 @@ require_once('../../include/benutzerberechtigung.class.php'); $sg_update->bescheidbgbl2 = $bescheidbgbl1; $sg_update->bescheidgz = $bescheidgz; $sg_update->bescheidvom = $bescheidvom; - $sg_update->orgform_kurzbz = $organisationsform; $sg_update->titelbescheidvom = $titelbescheidvom; $sg_update->zusatzinfo_html = $zusatzinfo_html; - $sg_update->aktiv = ($aktiv=='t'?true:false); + $sg_update->aktiv = $aktiv; $sg_update->ext_id = $ext_id; $sg_update->oe_kurzbz = $oe_kurzbz; - - if ($_POST["neu"] == "true") - $sg_update->new = 1; + $sg_update->moodle = $moodle; + $sg_update->sprache = $sprache; + $sg_update->testtool_sprachwahl = $testtool_sprachwahl; + $sg_update->studienplaetze = $studienplaetze; + $sg_update->orgform_kurzbz = $orgform_kurzbz; + $sg_update->lgartcode = $lgartcode; + + if ($_POST['neu'] == 'true') + $sg_update->new = true; if(!$sg_update->save()) { @@ -147,9 +175,9 @@ require_once('../../include/benutzerberechtigung.class.php'); - if ((isset($_REQUEST['studiengang_kz'])) && ((!isset($_REQUEST['neu'])) || ($_REQUEST['neu']!= "true"))) + if ((isset($_REQUEST['studiengang_kz'])) && ((!isset($_REQUEST['neu'])) || ($_REQUEST['neu']!= 'true'))) { - $studiengang_kz = $_REQUEST["studiengang_kz"]; + $studiengang_kz = $_REQUEST['studiengang_kz']; $sg = new studiengang($studiengang_kz); if ($sg->errormsg!='') @@ -172,13 +200,18 @@ require_once('../../include/benutzerberechtigung.class.php'); $bescheidbgbl2 = $sg->bescheidbgbl2; $bescheidgz = $sg->bescheidgz; $bescheidvom = $sg->bescheidvom; - $organisationsform = $sg->orgform_kurzbz; $titelbescheidvom = $sg->titelbescheidvom; $zusatzinfo_html = $sg->zusatzinfo_html; $ext_id = $sg->ext_id; $aktiv = $sg->aktiv; $oe_kurzbz = $sg->oe_kurzbz; - $neu = "false"; + $neu = 'false'; + $moodle = $sg->moodle; + $sprache = $sg->sprache; + $testtool_sprachwahl = $sg->testtool_sprachwahl; + $studienplaetze = $sg->studienplaetze; + $orgform_kurzbz = $sg->orgform_kurzbz; + $lgartcode = $sg->lgartcode; } $erh = new erhalter(); @@ -223,14 +256,14 @@ require_once('../../include/benutzerberechtigung.class.php'); $htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " \n"; - $htmlstr .= " Organisationsform\n"; - $htmlstr .= " "; $qry = "SELECT orgform_kurzbz FROM bis.tbl_orgform ORDER BY orgform_kurzbz"; if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) { - if($row->orgform_kurzbz == $organisationsform) + if($row->orgform_kurzbz == $orgform_kurzbz) $selected = 'selected'; else $selected = ''; @@ -241,19 +274,36 @@ require_once('../../include/benutzerberechtigung.class.php'); $htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " \n"; - $htmlstr .= " Ext ID\n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; $htmlstr .= " Aktiv\n"; $htmlstr .= " \n"; - if($aktiv == 't') + if($aktiv) $chk = "checked"; else $chk = ''; - $htmlstr .= " "; + $htmlstr .= " "; $htmlstr .= " \n"; $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " Testtool-Sprachwahl\n"; + $htmlstr .= " \n"; + if($testtool_sprachwahl) + $chk = "checked"; + else + $chk = ''; + $htmlstr .= " "; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " Moodle\n"; + $htmlstr .= " \n"; + if($moodle == 't') + $chk = "checked"; + else + $chk = ''; + $htmlstr .= " "; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= " \n"; @@ -324,7 +374,44 @@ require_once('../../include/benutzerberechtigung.class.php'); $htmlstr .= " Titelbescheidvom\n"; $htmlstr .= " \n"; $htmlstr .= " \n"; - + $htmlstr .= " \n"; + $htmlstr .= " Sprache\n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " LehrgangsartCode\n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " \n"; @@ -349,10 +436,18 @@ require_once('../../include/benutzerberechtigung.class.php'); $htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " \n"; + $htmlstr .= " Studienplätze\n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " Ext ID\n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= " Bescheid\n"; $htmlstr .= " \n"; $htmlstr .= " \n"; - + $htmlstr .= " \n"; $htmlstr .= " \n"; @@ -384,6 +479,8 @@ require_once('../../include/benutzerberechtigung.class.php'); } $htmlstr .= " \n"; $htmlstr .= " "; + + $htmlstr .= "\n"; $htmlstr .= "
\n"; $htmlstr .= "
\n"; diff --git a/vilesci/stammdaten/studiengang_uebersicht.php b/vilesci/stammdaten/studiengang_uebersicht.php index 6c5756b6d..dca8636b0 100644 --- a/vilesci/stammdaten/studiengang_uebersicht.php +++ b/vilesci/stammdaten/studiengang_uebersicht.php @@ -36,7 +36,11 @@ require_once('../../include/benutzerberechtigung.class.php'); if (isset($_GET["toggle"]) && ($_GET["kz"] != "")) { $kennzahl = intval($_GET["kz"]); - if($rechte->isBerechtigt('basis/studiengang', $kennzahl, 'suid')) + $stg_hlp = new studiengang(); + if(!$stg_hlp->load($kennzahl)) + die('Studiengang nicht gefunden'); + + if($rechte->isBerechtigt('basis/studiengang', $stg_hlp->oe_kurzbz, 'suid')) { $sg_update = new studiengang(); if(!$sg_update->toggleAktiv($kennzahl)) @@ -47,7 +51,7 @@ require_once('../../include/benutzerberechtigung.class.php'); } $sg = new studiengang(); - if (!$sg->getAll('kurzbzlang',false)) + if (!$sg->loadArray($rechte->getStgKz('basis/studiengang'),'kurzbzlang',false)) die($sg->errormsg); //$htmlstr = "\n";