diff --git a/include/gruppe.class.php b/include/gruppe.class.php index 01b13a378..79a6d8320 100644 --- a/include/gruppe.class.php +++ b/include/gruppe.class.php @@ -236,9 +236,12 @@ class gruppe extends basis_db * @param $semester * @param $mailgrp * @param $sichtbar + * @param $content_visible + * @param $aktiv + * @param $order Spalte nach der sortiert werden soll. Default='beschreibung' * @return boolean */ - public function getgruppe($studiengang_kz=null, $semester=null, $mailgrp=null, $sichtbar=null, $content_visible=null) + public function getgruppe($studiengang_kz=null, $semester=null, $mailgrp=null, $sichtbar=null, $content_visible=null, $aktiv=null, $order=null) { $qry = 'SELECT * FROM public.tbl_gruppe WHERE 1=1'; if(!is_null($studiengang_kz) && $studiengang_kz!='') @@ -251,7 +254,12 @@ class gruppe extends basis_db $qry .= " AND sichtbar=".$this->db_add_param($sichtbar, FHC_BOOLEAN); if(!is_null($content_visible)) $qry .= " AND content_visible=".$this->db_add_param($content_visible, FHC_BOOLEAN); - $qry.=" ORDER BY beschreibung"; + if(!is_null($aktiv) && $aktiv!='') + $qry .= " AND aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN); + if(!is_null($order) && $order!='') + $qry .= " ORDER BY ".$order; + else + $qry.=" ORDER BY beschreibung"; if($this->db_query($qry)) { while($row = $this->db_fetch_object()) diff --git a/vilesci/lehre/freifach.php b/vilesci/lehre/freifach.php index e9f385b3b..167b74bb7 100755 --- a/vilesci/lehre/freifach.php +++ b/vilesci/lehre/freifach.php @@ -41,7 +41,7 @@ $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(!$rechte->isBerechtigt('lehre/freifach')) die('Sie haben keine Berechtigung fuer diese Seite Zurück'); - +$zuteilung_vorhanden=''; $stsem_obj = new studiensemester(); if (isset($_REQUEST["stsem"])) $stsem = $_REQUEST["stsem"]; @@ -82,15 +82,31 @@ if (isset($_REQUEST["grp_in"]) && $gruppe != "") if (isset($_REQUEST["anmeldung_".$u->uid])) { $bg = new benutzergruppe(); - $bg->uid = $u->uid; - $bg->gruppe_kurzbz = $gruppe; - $bg->updateamum = null; - $bg->updatevon=null; - $bg->insertamum = date('Y-m-d H:i:s'); - $bg->insertvon = $user; - $bg->studiensemester_kurzbz = $stsem; - $bg->new = true; - $bg->save(true); + if($bg->load($u->uid, $gruppe)) + { + $bg->delete($u->uid, $gruppe); + $bg->uid = $u->uid; + $bg->gruppe_kurzbz = $gruppe; + $bg->updateamum = null; + $bg->updatevon=null; + $bg->insertamum = date('Y-m-d H:i:s'); + $bg->insertvon = $user; + $bg->studiensemester_kurzbz = $stsem; + $bg->new = true; + $bg->save(true); + } + else + { + $bg->uid = $u->uid; + $bg->gruppe_kurzbz = $gruppe; + $bg->updateamum = null; + $bg->updatevon=null; + $bg->insertamum = date('Y-m-d H:i:s'); + $bg->insertvon = $user; + $bg->studiensemester_kurzbz = $stsem; + $bg->new = true; + $bg->save(true); + } } } } @@ -122,6 +138,7 @@ if ($gruppe != "") $gu = new benutzergruppe(); if ($gu->load_uids($gruppe, $stsem)) { + sort($gu->uids); foreach ($gu->uids as $uidliste) { $spezgrp[] = $uidliste->uid; @@ -153,7 +170,6 @@ function selectAll() checkboxen[i].checked = false; } } -
@@ -199,7 +215,7 @@ function selectAll() echo "