public static function setAktiv(Connection $conn, $BrancheID, ErrorQueue $err) { if (!$conn->isConnected()) { $err->addError("Keine Verbindung zur Datenbank."); return false; } $neuerStatus = Branche::STATUS_AKTIV; $q = new DBQuery("UPDATE branche SET Status='{$neuerStatus}' WHERE BrancheID='{$BrancheID}'"); if (!$conn->executeQuery($q)) { $err->addError($conn->getLastError()); return false; } }
public static function OnCheckNeuanmeldungen(Connection $conn, ErrorQueue $err) { $returnvalue = true; $jetzt = strtotime("now"); $q = new DBQuery("SELECT MatrNr FROM neuanmeldung WHERE DeleteAfter < {$jetzt}"); if ($result = $conn->executeQuery($q)) { while ($r = $result->getNextRow()) { $delq = new DBQuery("DELETE FROM student WHERE MatrNr=" . $r[0]); $delq2 = new DBQuery("DELETE FROM neuanmeldung WHERE MatrNr={$matrnr}"); if (false == $conn->executeQuery($delq)) { ErrorQueue::SystemErrorConnection("TriggerStudent.php", "OnCheckNeuanmeldungen", $conn); $returnvalue = false; } } } else { ErrorQueue::SystemErrorConnection("TriggerStudent.php", "OnCheckNeuanmeldungen", $conn); $returnvalue = false; } return $returnvalue; }
public static function SystemErrorConnection($filename, $method, Connection $conn) { $message = "Filename: \"{$filename}\" <br /> \r\n"; $message .= "Method : \"{$method}\" <br /> \r\n"; $message .= "Query : \"" . $conn->getLastQuery()->getString() . "\" <br /> \r\n"; $message .= "Error : " . $conn->getLastError() . " <br />"; ErrorQueue::SystemError($message); }
public static function getSemsysInfo(Connection $conn, ErrorQueue $err) { $select_query = new DBQuery("SELECT PStudienplanID, Studiengang FROM studienplan ORDER BY Studiengang"); if (!($studienplaene = $conn->executeQuery($select_query))) { $err->addError("Die vorhandenen studienpläne konnten von der Datenbank nicht gelesen werden. " . $conn->getLastError()); } if ($studienplaene) { $studiengaenge_string = "Folgende Studiengänge nehmen bereits an Studiman teil:\n"; while ($r = $studienplaene->getNextRow()) { $studiengaenge_string .= $r[1] . "\n"; } // while $studiengaenge_string .= "\n\n"; } // if $string = "Kennst Du schon Studiman?\n" . "Studiman ist ein Tool zur Organisation Deines Semesters an der Fachhochschule Lübeck.\n" . "Deine Benutzerdaten für PRA|VER gelten ebenso für Studiman.\n" . "Schau doch mal rein unter http://osmigib.fh-luebeck.de/SemSys/ .\n\n" . $studiengaenge_string; return $string; }
// HTTP/1.0 include_once "../libs/libraries.php"; function invokeLogin($txt) { $_SESSION['txt'] = $txt; include "login.php"; exit; } if (isset($_POST['pass']) && isset($_POST['user'])) { $user = addslashes($_POST['user']); $_SESSION['mdpass'] = md5($_POST['pass']); $_SESSION['user'] = $user; $_POST['pass'] = ""; $pass = ""; } $err = new ErrorQueue(); $conn = new Connection(); $mitarbeiter = new Mitarbeiter($conn); if (!isset($_SESSION['mdpass']) || !isset($_SESSION['user'])) { invokeLogin("Geben Sie Ihre Benutzernamen und Passwort ein!"); } else { if ($conn->connect(Config::DB_SERVER, Config::DB_NAME, Config::DB_USERNAME, Config::DB_PASSWORD)) { if (!$mitarbeiter->login($_SESSION['user'], $_SESSION['mdpass'])) { invokeLogin($mitarbeiter->getLastError()); } // if can't init, do login, else it's OK } else { $err->addError($conn->getLastError()); } // if-else connection }
public function notenAbgeben($anfachid, $notenstatus, $termin, ErrorQueue $err, UtilBuffer $notenwerte, UtilBuffer $matrnummer, UtilBuffer $fehlendeVorleistungen) { $anfachid = intval($anfachid); $notenstatus = intval($notenstatus); $freigebenAmEnde = false; // Ob das Fach nach der Notenabgabe freigegeben werden soll. if ($notenwerte->getCount() != $matrnummer->getCount() || $notenwerte->getCount() != $fehlendeVorleistungen->getCount()) { $err->addError("Systemfehler: Funktion 'notenAbgeben' wurde mit fehlerhaften Patametern aufgerufen."); return false; } if ($anfach = AngebotenesFach::readAngebotenesFach($this->conn, $err, $anfachid)) { $fach = $anfach->getFach(); $hatGemeinsame = $fach->hatGemeinsameLeistungen(); $istPruefung = $fach->istPruefung(); if (-1 == $hatGemeinsame) { $err->addError($fach->getLastError()); return false; } if (1 == $hatGemeinsame) { if ($istPruefung) { $notenstatus = $notenstatus == Note::STATUS_TEILNOTE ? Note::STATUS_TEILNOTE : Note::STATUS_ENDNOTE; // Wenn das eine Prüfung ist, die mit gemeinsamen Leistungen verbunden ist // dann wird ersmal überprüft, was überhaupt abgegeben wurde $abgabeStatus = $anfach->getNotenabgabeStatus(); if (-1 == $abgabeStatus) { $err->addError($anfach->getLastError()); return false; } if ($notenstatus == Note::STATUS_TEILNOTE && $abgabeStatus == Note::STATUS_TEILNOTE) { $err->addError("Sie haben die Teilnoten für dieses Fach schon vergeben."); return false; } if ($notenstatus == Note::STATUS_ENDNOTE && $abgabeStatus == Note::STATUS_ENDNOTE) { $err->addError("Sie haben die Endnoten für dieses Fach schon vergeben."); return false; } $endnote = $notenstatus; if ($abgabeStatus == 0) { $freigebenAmEnde = false; } else { $freigebenAmEnde = true; } } else { $endnote = Note::STATUS_TEILNOTE; $freigebenAmEnde = true; } } else { if ($istPruefung) { $endnote = Note::STATUS_ENDNOTE; } else { $endnote = Note::STATUS_TEILNOTE; } $freigebenAmEnde = true; } } else { $err->addError("Das Fach ist nicht mehr angeboten. Sie können nur Noten abgeben, wenn Sie das Fach anbieten."); return false; } if ($endnote == Note::STATUS_TEILNOTE) { $endnoteString = "TEILNOTE"; } else { $endnoteString = "ENDNOTE"; } $dozentmessage = "Hallo " . $this->getName() . ",\r\n"; $dozentmessage .= "Sie haben gerade die folgenden Noten zum Fach " . $anfach->getKennzahl() . " " . $anfach->getName() . " abgegeben.\r\n\r\n"; for ($i = 0; $i < $notenwerte->getCount(); $i++) { $notenwert = $notenwerte->get($i); $matrnr = $matrnummer->get($i); $kennzahl = $anfach->getKennzahl(); $kennziffer = $anfach->getKennziffer(); $termin = addslashes($termin); $fehlende = $fehlendeVorleistungen->get($i); $interpretation = Note::getInterpretation($notenwert); $bestanden = Note::retrBr($interpretation); if (Note::NOTE_BESTANDEN == $interpretation || Note::NOTE_NICHTBESTANDEN == $interpretation) { $note = $notenwert; } else { $note = 0; } $n = new Note($note, $interpretation, $termin); $n->setFehlendeVorleistungen($fehlende); $n->setMatrNr($matrnr); $n->setDozentId($this->getID()); $n->setKennzahl($kennzahl); $n->setKennziffer($kennziffer); if ($endnote == Note::STATUS_ENDNOTE) { $n->setEndnote(true); } else { $n->setEndnote(false); } $fristgerecht = Student::istFristgerechtAngemeldet($this->conn, $err, $matrnr, $anfach); $fristgerechtS = $fristgerecht ? 'JA' : 'NEIN'; $s = "INSERT INTO hatleistung(MatrNr, Kennzahl, Teilkennziffer, Bestanden, Note, Datum, TeilEndNote, PDozentID, FehlendeVorleistungen, FristgerechtAngemeldet) "; $s .= "VALUES({$matrnr}, '{$kennzahl}', {$kennziffer}, '{$bestanden}', {$note}, '{$termin}', '{$endnoteString}', " . $this->getID() . ", {$fehlende}, '{$fristgerechtS}')"; $q = new DBQuery($s); if ($this->conn->executeQuery($q)) { Mailer::mailNote($n, $anfach, $this); $vf = $n->hatFehlendeVorleistungen() ? "(Vorleistungen fehlen)" : ""; $dozentmessage .= $n->getMatrNr() . ": " . $n->getBenotung($anfach->getFach()) . " " . $vf . "\r\n"; if ($freigebenAmEnde) { $q = new DBQuery("DELETE FROM angemeldet WHERE MatrNr={$matrnr} and PAnFachID=" . $anfach->getID()); if (false == $this->conn->executeQuery($q)) { $err->addError("Die Abmeldung von {$matrnr} konnte nicht durchgeführt werden. " . $this->conn->getLastError()); return false; } } } else { $err->addError("Unerwarteter Fehler. Die Note von {$matrnr} konnte nicht abgegeben werden."); return false; } } // for $dozentmessage .= "\r\nTermin der Pruefung: " . $termin . "\r\n"; $dozentmessage .= "Status: " . $endnoteString; Mailer::mailit($this->getEmail(), "Notenabgabe " . $anfach->getKennzahl() . " " . $anfach->getName() . " zum " . $termin, $dozentmessage); // Hier werden (wenn es soweit ist) die Studenten abgemeldet und das Fach freigegeben if ($freigebenAmEnde) { if (false == $this->fachBeenden($anfachid)) { $err->addError($this->getLastError()); } } else { if (false == $anfach->setNotenabgabeStatus($notenstatus)) { $err->addError($anfach->getLastError()); } } return true; }
<?php include "../libs/libraries.php"; $err = new ErrorQueue(); $conn = new Connection(); if ($conn->connect($DB_SERVER, $DB_NAME, $DB_USERNAME, $DB_PASSWORD)) { $gruppe = -1; if (isset($_GET['gruppe'])) { $gruppe = intval($_GET['gruppe']); } ?> <html> <head> <title>Information</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="../styles/main.css" type="text/css"> <link rel="stylesheet" href="../styles/menu.css" type="text/css"> <?php switch ($gruppe) { case 1: echo '<link rel="stylesheet" href="../styles/studieninteressierte.css" type="text/css">'; break; case 2: echo '<link rel="stylesheet" href="../styles/presse_besucher.css" type="text/css">'; break; case 3: echo '<link rel="stylesheet" href="../styles/wirtschaft.css" type="text/css">'; break; default:
<?php include "../libs/libraries.php"; if (isset($_SESSION['mdpass'])) { unset($_SESSION['mdpass']); unset($_SESSION['username']); session_destroy(); } $err = new ErrorQueue(); $meldung = ""; ?> <html> <head> <title>Dozent anmelden</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="../styles/main.css" type="text/css"> <link rel="stylesheet" href="../styles/login.css" type="text/css"> <link rel="stylesheet" href="../styles/menu.css" type="text/css"> <link rel="stylesheet" href="../styles/prof.css" type="text/css"> </head> <body leftmargin="0" topmargin="0"> <table height="100%" border="0" cellspacing="0" cellpadding="0" class="hauptbox"><tr><td valign="top" height="100%"> <?php include "../libs/kopf.php"; ?> <br> <div> <table width="750" border="0" cellspacing="0" cellpadding="0">
<?php include "../libs/libraries.php"; $err = new ErrorQueue(); $conn = new Connection(); if ($conn->connect($DB_SERVER, $DB_NAME, $DB_USERNAME, $DB_PASSWORD)) { $gruppe = -1; if (isset($_GET['gruppe'])) { $gruppe = intval($_GET['gruppe']); } $berichtID = -1; if (isset($_POST['postBerichtID'])) { $berichtID = intval($_POST['postBerichtID']); } else { if (isset($_GET['BerichtID'])) { $berichtID = intval($_GET['BerichtID']); } else { $err->addError("Fehler: Es ist kein E-Mail-Ziel definiert"); } } $aktion = "formular"; if (isset($_POST['aktion']) && $_POST['aktion'] == "senden") { if (isset($_POST['nachricht']) && $_POST['nachricht'] != "" && isset($_POST['absender']) && $_POST['absender'] != "" && Mailer::checkMail($_POST['absender']) && $berichtID > -1) { $bericht = new Bericht($conn); $bericht->initAusDatenbank($berichtID); if ($bericht->getInited()) { if ($student = Student::readStudent($conn, $err, $bericht->getMatrNr())) { $email_adresse = $student->getEmail(); $betreff = ""; if (isset($_POST['betreff'])) { $betreff = $_POST['betreff'];
<?php include "../libs/libraries.php"; $err = new ErrorQueue(); $conn = new Connection(); if ($conn->connect($DB_SERVER, $DB_NAME, $DB_USERNAME, $DB_PASSWORD)) { $berichtid = -1; if (isset($_GET['berichtid'])) { $berichtid = intval($_GET['berichtid']); } $gruppe = -1; if (isset($_GET['gruppe'])) { $gruppe = intval($_GET['gruppe']); } ?> <html> <head> <title>Bericht-Datenbank</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="../styles/main.css" type="text/css"> <link rel="stylesheet" href="../styles/menu.css" type="text/css"> <?php switch ($gruppe) { case 1: echo '<link rel="stylesheet" href="../styles/studieninteressierte.css" type="text/css">'; break; case 2: echo '<link rel="stylesheet" href="../styles/presse_besucher.css" type="text/css">'; break;
<?php /* manage_mitarbeiter.php * Hier werden Dozenten vom Administrator verwaltet */ include "../libs/libraries.php"; $err = new ErrorQueue(); $conn = new Connection(); $meldung = ""; // Diese Meldung wird angezeigt $THIS_SITE = "manage_mitarbeiter.php"; // Unterschiedliche Bereiche dürfen eine zweistellige Nummer haben, damit kennzeichnen sie // bestimmte aktionen als gelungen oder nicht. // Beispiel. Der Bereich zum Einfügen der Mitarbeiter hat ok=30, wenn eine aktion erfolgreich // durchgeführt wurde. $ok = 31, wenn die Aktion fehlschlägt. $ok = 0; if ($conn->connect($DB_SERVER, $DB_NAME, $DB_USERNAME, $DB_PASSWORD)) { $aktion = 0; if (isset($_POST['aktion'])) { $aktion = intval($_POST['aktion']); } // Fügt einen Mitarbeiter ein if ($aktion == 1) { if (!isset($_POST['name']) || $_POST['name'] == "") { $err->addError("Geben Sie einen Namen ein!"); } if (!isset($_POST['email']) || $_POST['email'] == "") { $err->addError("Geben Sie die E-Mail ein!"); } if (!isset($_POST['username']) || $_POST['username'] == "") { $err->addError("Geben Sie einen Benutzernamen ein!");
public static function enumFreigaben(Connection $conn, ErrorQueue $err) { $q = new DBQuery("SELECT FreigabeID, FreigabeBereich FROM freigabe ORDER BY FreigabeID"); if ($conn->isConnected()) { if ($result = $conn->executeQuery($q)) { return $result; } else { $err->addError("Datenbankfehler: " . $conn->getLastError()); } } else { return false; } }
<?php /* manage_dozenten.php * Hier werden Dozenten vom Administrator verwaltet */ include "../libs/libraries.php"; $err = new ErrorQueue(); $conn = new Connection(); $meldung = ""; // Diese Meldung wird angezeigt // Unterschiedliche Bereiche dürfen eine zweistellige Nummer haben, damit kennzeichnen sie // bestimmte aktionen als gelungen oder nicht. // Beispiel. Der Bereich zum Einfügen der Dozenten hat ok=30, wenn eine aktion erfolgreich // durchgeführt wurde oder 31, wenn die Aktion fehlschlägt. $ok = 0; if ($conn->connect($DB_SERVER, $DB_NAME, $DB_USERNAME, $DB_PASSWORD)) { $aktion = 0; if (isset($_POST['aktion'])) { $aktion = intval($_POST['aktion']); } // Fügt einen Dozenten ein if ($aktion == 1) { if (!isset($_POST['name']) || $_POST['name'] == "") { $err->addError("Geben Sie einen Namen ein!"); } if (!isset($_POST['email']) || $_POST['email'] == "") { $err->addError("Geben Sie die E-Mail ein!"); } if (!isset($_POST['tel'])) { $err->addError("Die Telefonnummer wurde nicht gesetzt."); }
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; }
public static function neuerStudentAnmelden($matrnr, $name, $vorname, $email, $fhemail, ErrorQueue $err, Connection $conn) { $gen = new PassGenerator(); $pass = $gen->createNewPass(0); $mdpass = md5($pass); // Matrikelnummer überprüfen $matrnr1 = $matrnr; $matrnrlen = strlen($matrnr1); $matrnr = intval($matrnr); if ($matrnrlen != strlen($matrnr) || $matrnr <= 0) { $err->addError("Die Matrikelnummer ist ungültig."); return false; } $name = addslashes($name); $email = addslashes($email); $vorname = addslashes($vorname); $fhemail .= "@stud.fh-luebeck.de"; $fhemail = addslashes($fhemail); if (strcmp($name, "") == 0 || strcmp($vorname, "") == 0 || strcmp($email, "") == 0 || strcmp($fhemail, "") == 0) { $err->addError("Bitte füll alle Felder aus."); return false; } if (!Mailer::checkMail($email)) { $err->addError("Die E-Mail-Adresse hat das falsche Format."); return false; } if (!Mailer::checkMail($fhemail)) { $err->addError("Die FHL-E-Mail-Adresse hat das falsche Format."); return false; } if ($conn->isConnected()) { $q = new DBQuery("INSERT INTO student(MatrNr, Name, EMail, Pass, Vorname) VALUES({$matrnr}, '{$name}', '{$email}', '{$mdpass}', '{$vorname}')"); if ($conn->executeQuery($q)) { Mailer::mailit($fhemail, "Deine Anmeldung", "Hallo {$name},\n danke für Deine Anmeldung. Deine Login-Daten lauten:\n Passwort: \"{$pass}\"\nMatrikelnummer: {$matrnr}\n\n" . Studiengang::getSemsysInfo($conn, $err)); return true; } else { $err->addError("Die Anmeldung konnte nicht durchgeführt werden. Diese Matrikelnummer ist schon registriert."); return false; } // Query executed } else { $err->addError("Keine Verbindung zur Datenbank."); return false; } // Connected }
public static function enumGroessen(Connection $conn, ErrorQueue $err) { $q = new DBQuery("SELECT UnternehmensgroesseID, Mitarbeiterzahl, MindestName FROM unternehmensgroesse"); if ($conn->isConnected()) { if ($result = $conn->executeQuery($q)) { return $result; } else { $err->addError("Datenbankfehler: " . $conn->getLastError()); } } else { return false; } }