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;
 }
Esempio n. 2
0
 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);
     }
 }
Esempio n. 3
0
 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;
     }
 }
Esempio n. 4
0
 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;
     }
 }
Esempio n. 5
0
 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;
 }
Esempio n. 6
0
 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;
 }