public static function getBereicheVonZugangsstufe($stufe) { $bereiche = Zugangsstufe::getAlleBereiche(); $buffer = new UtilBuffer(); for ($i = 0; $i < $bereiche->getCount(); $i++) { if (Zugangsstufe::hatZugang($stufe, $bereiche->get($i))) { $buffer->add($bereiche->get($i)); } } return $buffer; }
public static function sendGroupMail(UtilBuffer $anStudenten, Dozent $vonDozent, $sMessage, $subj, $bSendCopyToDozent) { $subj = "[PRA|VER] " . $subj; //$text = "Das ist eine automatische Nachricht vom Studi-Manager-System.\r\n\r\n\r\n".$text; $text = $sMessage; /* To send HTML mail, you can set the Content-type header to text/html. */ $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $headers .= "From: " . $vonDozent->getName() . " <" . $vonDozent->getEmail() . ">\r\n"; // Verschicken der Mails for ($i = 0; $i < $anStudenten->getCount(); $i++) { $studi = $anStudenten->get($i); mail($studi->getEmail(), $subj, $text, $headers); } if ($bSendCopyToDozent) { $text = "Sie haben die folgende Nachricht über das Fächerverwaltungssystem verschickt:\r\n\r\n" . $text; mail($vonDozent->getEmail(), $subj, $text, $headers); } }
private function sortFaecherArray(UtilBuffer $ret) { if ($ret == null) { return false; } $arr = array(); if ($this->type == SortingPool::TYPE_FAECHER_SORT) { $count = 0; $arr = $this->ressource; $count = count($arr); if ($count == 0) { return; } for ($i = 0; $i < $count; $i++) { $this->indexOrder[$i] = $i; } //Zuordnung vor der Sortierung festhalten // Suchen nach gleichen Präfixen $f = $arr[0]; $len = strlen($f->getKennzahl()); $suffix = strrchr($f->getKennzahl(), " "); $prefixlen = $len - strlen($suffix) + 1; // If everyting is a prefix, ignore it if ($prefixlen >= $len) { $prefix = ""; $prefixlen = 0; } else { $prefix = substr($f->getKennzahl(), 0, $prefixlen); } $start = 0; for ($i = 1; $i < $count; $i++) { $f = $arr[$i]; // Suchen nach gleichen Präfixen $nlen = strlen($f->getKennzahl()); // Länge der nächsten Kennzahl ermitteln $nsuffix = strrchr($f->getKennzahl(), " "); // Nächster Suffix $nprefixlen = $nlen - strlen($nsuffix) + 1; // Länge des nächsten Präfixes ermitteln // If everyting is a prefix, ignore it if ($nprefixlen >= $nlen) { $nprefix = ""; $nprefixlen = 0; } else { $nprefix = substr($f->getKennzahl(), 0, $nprefixlen); } // Wenn der neue präfix nicht mehr übereinstimmt // Wird vom Start bis zu diesem Präfix sortiert if (strcmp($nprefix, $prefix) != 0) { $arr = $this->sortKennzahlen2($arr, $prefixlen, $start, $i - 1); $prefix = $nprefix; $prefixlen = $nprefixlen; $start = $i; } } // for if ($start != $i) { $arr = $this->sortKennzahlen2($arr, $prefixlen, $start, $i - 1); } $ret->addArray($arr); return true; } else { $this->last_error = "Sortierung fehlgeschlagen. Falscher Typ."; return false; } }
public function getNotenZuTermin($termin, $kennzahl, $kennziffer) { $termin = addslashes($termin); $kennzahl = addslashes($kennzahl); $kennziffer = addslashes($kennziffer); $q = new DBQuery("SELECT PLeistungID, MatrNr, Kennzahl, Teilkennziffer, Bestanden, Note, Datum, TeilEndNote, PDozentID, FehlendeVorleistungen FROM hatleistung WHERE PDozentID=" . $this->getID() . " and Datum='{$termin}' and Kennzahl='{$kennzahl}' and Teilkennziffer={$kennziffer} ORDER BY MatrNr"); if ($res = $this->conn->executeQuery($q)) { $buf = new UtilBuffer(); while ($r = $res->getNextRow()) { $n = new Note($r[5], Note::trBe($r[4]), $r[6]); $n->setID($r[0]); $n->setMatrNr($r[1]); $n->setKennzahl($r[2]); $n->setKennziffer($r[3]); if (strcmp($r[7], 'ENDNOTE') == 0) { $e = true; } else { $e = false; } $n->setEndnote($e); $n->setDozentId($r[8]); $n->setFehlendeVorleistungen($r[9]); // Anzahl der fehlenden Vorleistunen (0 oder 1) $buf->add($n); } return $buf; } else { $this->last_error = "Die Noten vom {$termin} konnten nicht ausgelesen werden."; return false; } }
public static function extractKeysFromPrefixedArray($prefix, $array) { $keys = array_keys($array); $count = count($keys); //echo $count." keys<br />"; $buffer = new UtilBuffer(); for ($i = 0; $i < $count; $i++) { $s1 = substr($keys[$i], 0, strlen($prefix)); if (strcmp($s1, $prefix) == 0) { $s2 = substr($keys[$i], strlen($prefix)); $buffer->add($s2); } } return $buffer; }
public static function getAlleMitarbeiter(Connection $conn, ErrorQueue $err, UtilBuffer $buffer) { $q = new DBQuery("SELECT Username, Name, Email, Zugangsstufe FROM mitarbeiter ORDER by Name"); if ($result = $conn->executeQuery($q)) { while ($r = $result->getNextRow()) { $mit = new Mitarbeiter($conn); $mit->benutzername = $r[0]; $mit->name = $r[1]; $mit->email = $r[2]; $mit->zugangsstufe = $r[3]; $buffer->add($mit); } return true; } else { $err->addError("Die Mitarbeiter konnten nicht ausgelesen werden. " . $conn->getLastError()); } return false; }