Ejemplo n.º 1
0
 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;
     }
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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);
 }
Ejemplo n.º 4
0
 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&auml;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
}
Ejemplo n.º 6
0
 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&uuml;r dieses Fach schon vergeben.");
                     return false;
                 }
                 if ($notenstatus == Note::STATUS_ENDNOTE && $abgabeStatus == Note::STATUS_ENDNOTE) {
                     $err->addError("Sie haben die Endnoten f&uuml;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&ouml;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&uuml;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;
 }
Ejemplo n.º 7
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']);
    }
    ?>


<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:
Ejemplo n.º 8
0
<?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'];
Ejemplo n.º 10
0
<?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!");
Ejemplo n.º 12
0
 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;
     }
 }
Ejemplo n.º 13
0
<?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.");
        }
Ejemplo n.º 14
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;
 }
Ejemplo n.º 15
0
 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&uuml;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&uuml;hrt werden. Diese Matrikelnummer ist schon registriert.");
             return false;
         }
         // Query executed
     } else {
         $err->addError("Keine Verbindung zur Datenbank.");
         return false;
     }
     // Connected
 }
Ejemplo n.º 16
0
 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;
     }
 }