Add Users

Add students Show students Logout

Die Teilnehmer werden aus dem Moodlekurs der Veranstaltung übernommen. Dazu die Teilnehmer als csv exportieren. Die csv Datei dann mit den Angaben zum Kurs und zum Semester hier hochladen. Die csv Datei enthält die Namen, Matrikelnummer und die Gruppen.

$teilnehmerliste) { if (in_array($matrikelnummer, $teilnehmerliste)) { return $gname; } } } function parseuserfile($fname) { global $pfach,$psemester,$newstudents,$newgroups,$students,$groups; if (($fh = fopen($fname, "r")) !== FALSE) { while (($line = fgetcsv($fh, 1000, ",", "\"", ""))) { $vorname = $line[0]; $nachname = $line[1]; $matrikelnummer = is_numeric($line[2]) ? $line[2] : ""; $student = array ( "vorname" => $vorname, "nachname" => $nachname, "noten" => array ( $pfach => [] ) ); $newgruppe = ""; if (!empty($line[4])) { $gruppen = str_getcsv($line[4],",","\"",""); foreach ($gruppen as $gruppe) { if (preg_match("/.*-G[0-9].*/u", $gruppe) or preg_match("/G[0-9].*/u", $gruppe) ) { $newgruppe = trim($gruppe); } } } if (empty($newgruppe) or empty($matrikelnummer)) { echo "

WARNING: $vorname $nachname has no group or no matrikelnummer.

"; } elseif (!empty($groups[$psemester][$pfach]) and $gname = is_student_in_any_group($matrikelnummer, $groups[$psemester][$pfach])) { echo "

WARNING: $matrikelnummer is already in $gname in database.

"; } elseif ($gname = is_student_in_any_group($matrikelnummer, $newgroups)) { echo "

WARNING: $matrikelnummer is already in $gname in this file

"; } else { if (empty($students[$matrikelnummer])) { //db_student_new($matrikelnummer,$student); echo "

Adding student $matrikelnummer

"; $newstudents[$matrikelnummer] = $student; } elseif (!array_key_exists($pfach,$students[$matrikelnummer]["noten"])) { echo "

Adding $pfach to student $matrikelnummer

"; $newstudents[$matrikelnummer] = $student; } else { echo "

WARNING: student $matrikelnummer is already in database.

"; } if (empty($groups[$psemester][$pfach][$newgruppe])) { if (empty($newgroups[$newgruppe])) { $newgroups[$newgruppe] = [$matrikelnummer]; } elseif (!in_array($matrikelnummer,$newgroups[$newgruppe])) { $newgroups[$newgruppe][] = $matrikelnummer; } else { echo "

WARNING: student $matrikelnummer is already in group $newgruppe

"; } } elseif (!in_array($matrikelnummer,$groups[$psemester][$pfach][$newgruppe])) { echo "

ERROR: TODO group $newgruppe without $matrikelnummer already in database but

"; } else { echo "

WARNING: group $newgruppe with $matrikelnummer already in database

"; } } //echo "

",$vorname,$nachname,$matrikelnummer,$newgruppe,"

"; } ksort($newgroups); $_SESSION["newstudents"] = $newstudents; $_SESSION["newgroups"] = $newgroups; $_SESSION["fach"] = $pfach; $_SESSION["semester"] = $psemester; } else { echo "

Error: Could not open file

"; return FALSE; } return; } echo "
"; echo ""; echo ""; echo ""; echo ""; echo ""; if (!empty($_POST["save"]) and $_POST["save"] === "save") { foreach ($newstudents as $matrikelnummer => $student) { if (empty($students[$matrikelnummer])) { db_student_new($matrikelnummer,$student); } elseif (empty($students[$matrikelnummer]["noten"][$pfach])) { db_student_add_fach($matrikelnummer,$pfach); } else { echo "

ERROR: $matrikelnummer with $pfach already in database.

"; } } foreach ($newgroups as $gname => $teilnehmerarray) { db_group_new($psemester,$pfach,$gname,$teilnehmerarray); } $newstudents = []; $newgroups = []; echo "

Saved.

"; } elseif (!empty($_POST["cancel"]) and $_POST["cancel"] === "cancel") { $newstudents = []; $newgroups = []; echo "

Canceled.

"; } elseif (!empty($_POST["upload"]) and $_POST["upload"] === "upload") { $fname = $_FILES["csvfile"]["tmp_name"]; $ftype = $_FILES["csvfile"]["type"]; if (!empty($fname)) { if ($ftype !== "text/csv") { echo "

ERROR: Filetype must be csv

"; } else { parseuserfile($fname); } } } if (!empty($newstudents) or !empty($newgroups)) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; foreach ($newgroups as $gname => $teilnehmera) { foreach ($teilnehmera as $matrikelnummer) { if (!empty($newstudents[$matrikelnummer])) { $vorname = $newstudents[$matrikelnummer]["vorname"]; $nachname = $newstudents[$matrikelnummer]["nachname"]; } else { $vorname = $students[$matrikelnummer]["vorname"]; $nachname = $students[$matrikelnummer]["nachname"]; } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } } echo "
SemesterPrüfungGruppeNachnameVorname
",$psemester,"",$pfach,"",$gname,"",$nachname,"",$vorname,"
"; echo ""; echo ""; } echo "
"; ?>