diff --git a/include/benutzergruppe.class.php b/include/benutzergruppe.class.php index 1d026c05e..281aedfa1 100644 --- a/include/benutzergruppe.class.php +++ b/include/benutzergruppe.class.php @@ -100,6 +100,37 @@ class benutzergruppe } } + // ********************************************************* + // * Laedt die User in einer Benutzergruppe + // * @param gruppe_kurzbz, stsem + // * @return true wenn ok, false im Fehlerfall + // ********************************************************* + function load_uids($gruppe_kurzbz, $stsem) + { + $qry = "SELECT * FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='".addslashes($gruppe_kurzbz)."' and studiensemester_kurzbz = '".$stsem."'"; + + if($result = pg_query($this->conn, $qry)) + { + if (pg_num_rows($result) == 0) + return false; + else + { + while($row = pg_fetch_object($result)) + { + $bg_obj = new benutzergruppe($this->conn); + $bg_obj->uid = $row->uid; + $this->uids[] = $bg_obj; + } + return true; + } + } + else + { + $this->errormsg = 'Fehler beim laden des Datensatzes'; + return false; + } + } + // ******************************************* // * Prueft die Variablen vor dem Speichern // * auf Gueltigkeit. diff --git a/include/benutzerlvstudiensemester.class.php b/include/benutzerlvstudiensemester.class.php index 5fb403a61..958d773f2 100644 --- a/include/benutzerlvstudiensemester.class.php +++ b/include/benutzerlvstudiensemester.class.php @@ -71,7 +71,34 @@ class benutzerlvstudiensemester $this->errormsg = 'Not implemented'; return false; } - + + // + // + // + // + function get_all_uids($studiensemester_kurzbz, $lehrveranstaltung_id) + { + $qry = "SELECT * FROM campus.tbl_benutzerlvstudiensemester where studiensemester_kurzbz='".$studiensemester_kurzbz."' AND lehrveranstaltung_id = '".$lehrveranstaltung_id."'"; + if(!$res = pg_query($this->conn, $qry)) + { + $this->errormsg = 'Datensatz konnte nicht geladen werden'; + return false; + } + if (pg_num_rows($res) == 0) + return false; + else + { + while($row = pg_fetch_object($res)) + { + $lv_obj = new benutzerlvstudiensemester($this->conn); + $lv_obj->uid = $row->uid; + $this->uids[] = $lv_obj; + } + return true; + } + } + + // ******************************************* // * Prueft die Variablen vor dem Speichern // * auf Gueltigkeit. diff --git a/include/globals.inc.php b/include/globals.inc.php index b3aee867f..4d2e10aa3 100644 --- a/include/globals.inc.php +++ b/include/globals.inc.php @@ -1,4 +1,10 @@ - + + +?> diff --git a/vilesci/left.php b/vilesci/left.php index a1dbf7669..7868b1a6a 100644 --- a/vilesci/left.php +++ b/vilesci/left.php @@ -182,7 +182,11 @@ - + + + +  Freifächer + diff --git a/vilesci/lehre/freifach.php b/vilesci/lehre/freifach.php new file mode 100755 index 000000000..d2094132e --- /dev/null +++ b/vilesci/lehre/freifach.php @@ -0,0 +1,216 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/lehrveranstaltung.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerlvstudiensemester.class.php'); +require_once('../../include/gruppe.class.php'); +require_once('../../include/benutzergruppe.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + + +$user = get_uid(); + +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($_REQUEST["stsem"])) + $stsem = $_REQUEST["stsem"]; +else + $stsem = "WS2007"; + +if (isset($_REQUEST["lvid"])) + $lvid = $_REQUEST["lvid"]; +else + $lvid = 0; + +if (isset($_REQUEST["gruppe"])) + $gruppe = $_REQUEST["gruppe"]; +else + $gruppe = ""; + +if (isset($_REQUEST["semester"])) + $semester = $_REQUEST["semester"]; +else + $semester = 1; + +if(!is_numeric($stg_kz)) + $stg_kz=0; + +if (isset($_REQUEST["grp_in"]) && $gruppe != "") +{ + $b = new benutzerlvstudiensemester($conn); + if ($b->get_all_uids($stsem, $lvid)) + { + + foreach ($b->uids as $u) + { + if (isset($_REQUEST["anmeldung_".$u->uid])) + { + $bg = new benutzergruppe($conn); + $bg->uid = $u->uid; + $bg->gruppe_kurzbz = $gruppe; + $bg->updateamum = null; + $bg->updatevon=null; + $bg->insertamum = null; + $bg->insertvon = $user; + $bg->studiensemester_kurzbz = $stsem; + $bg->new = 1; + $bg->save(1); + } + } + } +} + + if ($gruppe != "" && isset($_REQUEST["grp_aus"])) + { + $gu = new benutzergruppe($conn); + if ($gu->load_uids($gruppe, $stsem)) + { + foreach ($gu->uids as $uidliste) + { + if (isset($_REQUEST["gruppe_".$uidliste->uid])) + { + $bg = new benutzergruppe($conn); + $bg->delete($uidliste->uid, $gruppe); + } + } + } + } //(uid, gruppe_kurzbz, updateamum, updatevon, insertamum, insertvon, studiensemester_kurzbz) + +?> + + + +Lehrveranstaltung Verwaltung + + + + + + +Freifächer Teilnehmer-Verwaltung"; + echo "
"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "
FreifächerGruppen"; + echo "
"; + echo ""; + + + echo ""; + + echo ""; + + echo ""; + + echo "
"; + + if ($lvid > 0) + { + $b = new benutzerlvstudiensemester($conn); + if ($b->get_all_uids($stsem, $lvid)) + { + + foreach ($b->uids as $u) + { + echo "
".$u->uid; + //echo "
".$u->uid; + } + } + } + echo "
"; + + if ($gruppe != "") + { + $gu = new benutzergruppe($conn); + if ($gu->load_uids($gruppe, $stsem)) + { + foreach ($gu->uids as $uidliste) + { + echo "
".$uidliste->uid; + //echo "
".$u->uid; + } + } + } + + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; +?> + + +
+ + \ No newline at end of file