Example #1
0
 public function match(Mitglied $mitglied)
 {
     if (!$mitglied->getLatestRevision()->hasTextField($this->textfieldid)) {
         return false;
     }
     return $mitglied->getLatestRevision()->getTextField($this->textfieldid)->getValue() == $this->value;
 }
Example #2
0
 public function match(Mitglied $mitglied)
 {
     $ort = $mitglied->getLatestRevision()->getKontakt()->getOrt();
     $lat1 = $ort->getLatitude() / 180 * 3.141592;
     $long1 = $ort->getLongitude() / 180 * 3.141592;
     if ($lat1 == null or $long1 == null) {
         return false;
     }
     $lat2 = $this->getLatitude() / 180 * 3.141592;
     $long2 = $this->getLongitude() / 180 * 3.141592;
     // http://en.wikipedia.org/wiki/Haversine_formula
     $dist = 2 * 6371 * acos(pow(($lat1 - $lat2) / 2, 2) + cos($lat1) * cos($lat2) * pow(sin(($lon1 - $lon2) / 2), 2));
     return $dist <= $this->getDistance();
 }
Example #3
0
 public static function factory(Storage $storage, $row)
 {
     $mitglied = new Mitglied($storage);
     $mitglied->setMitgliedID($row["mitgliedid"]);
     $mitglied->setGlobalID($row["globalid"]);
     $mitglied->setEintrittsdatum($row["eintritt"]);
     $mitglied->setAustrittsdatum($row["austritt"]);
     return $mitglied;
 }
Example #4
0
 function Login($benutzer = "", $passwort = "")
 {
     global $db_config, $sqldb;
     @session_start();
     $this->Level = 0;
     $this->Nr = 0;
     // Neue Session starten?
     if (empty($benutzer) === false && empty($passwort) === false) {
         session_register("login_benutzer");
         session_register("login_passwort");
         session_register("ip");
         $_SESSION["login_benutzer"] = $benutzer;
         $_SESSION["login_passwort"] = Mitglied::PasswordHash($passwort);
         $_SESSION["ip"] = $_SERVER['REMOTE_ADDR'];
     }
     // Korrekt eingeloggt?
     if (isset($_SESSION["ip"]) && $_SESSION["ip"] == $_SERVER['REMOTE_ADDR'] && !empty($_SESSION["login_benutzer"]) && !empty($_SESSION["login_passwort"])) {
         // Hole, Nr, Passwort und Rechte zu Loginnamen
         $sql = "SELECT Mitglieds_Nr AS Nr, Passwort AS passwort, Rechte\n\t\t\t\t\tFROM " . $db_config['prefix'] . "Mitglieder AS members\n\t\t\t\t\tWHERE members.Login = '******'\n\t\t\t\t\tLIMIT 1";
         $sqldb->Query($sql);
         // Existiert das Mitglied?
         if ($line = $sqldb->Fetch()) {
             // Hat er das richtige Passwort?
             if ($line->passwort === $_SESSION["login_passwort"]) {
                 $this->Nr = $line->Nr;
                 // Setze Benuterrechte nach Rechtename
                 switch ($line->Rechte) {
                     case "Administrator":
                         $this->Level = 2;
                         break;
                     case "Benutzer":
                         $this->Level = 1;
                         break;
                     default:
                         $this->Level = 0;
                 }
             } else {
                 // Falsche Passwort
                 $this->Logout();
             }
         } else {
             // Benutzername nicht gefunden
             $this->Logout();
         }
     }
 }
 public function match(Mitglied $mitglied)
 {
     return $mitglied->getLatestRevision()->isNatPerson() && $mitglied->getEintrittsdatum() - $mitglied->getLatestRevision()->getGeburtsdatum() > $age * 356 * 24 * 60 * 60;
 }
 public function match(Mitglied $mitglied)
 {
     return $mitglied->getAustrittsdatum() >= $this->timestamp;
 }
Example #7
0
 function GetAll()
 {
     global $sqldb, $login;
     $queryResult = array();
     $queryResult[] = $this->CreateMemberData(1, "Maximator", "passwort", "Max", "Mustermann", "*****@*****.**", "Benutzer");
     $queryResult[] = $this->CreateMemberData(2, "FischerFritze", "passwort", "Fritz", "fischer", "*****@*****.**", "Administrator");
     $login->Level = 0;
     // Test mit Gast-Rechten
     $members = Mitglied::GetAll();
     $dbResult = $sqldb->Verify();
     if ($dbResult !== true) {
         $dbResult->Unit = 'Mitglied';
         $dbResult->Test = 'GetAll (Gast)';
         return $dbResult;
     }
     if (count($members) != 0) {
         // Gast bekommt keine Anzeige
         return new ErrorMessage('Mitglied', 'GetAll (Gast)', 'Anzahl Mitglieder', 0, count($members));
     }
     // ------------------------------------------------
     $login->Nr = 1;
     $login->Level = 1;
     // Test mit Mitglied-Rechten
     $sqldb->ExpectQuery("SELECT.*FROM.*Mitglieder.*WHERE.*Mitglieds_Nr\\s*=\\s*'1'", $queryResult[0]);
     $members = Mitglied::GetAll();
     $dbResult = $sqldb->Verify();
     if ($dbResult !== true) {
         $dbResult->Unit = 'Mitglied';
         $dbResult->Test = 'GetAll (Mitglied)';
         return $dbResult;
     }
     if (count($members) != 1) {
         // Mitglied bekommt nur sich selbst
         return new ErrorMessage('Mitglied', 'GetAll (Mitglied)', 'Anzahl Mitglieder', 1, count($members));
     }
     if ($members[0]->Nr != 1) {
         // nur einer wird angezeigt (Mitglied selbst)
         return new ErrorMessage('Mitglied', 'GetAll (Mitglied)', 'Mitgliedsnummer', 1, $members[0]->Nr);
     }
     // ------------------------------------------------
     $login->Nr = 2;
     $login->Level = 2;
     // Test mit Admin-Rechten
     $sqldb->ExpectQuery('SELECT.*FROM.*Mitglieder', $queryResult);
     $members = Mitglied::GetAll();
     $dbResult = $sqldb->Verify();
     if ($dbResult !== true) {
         $dbResult->Unit = 'Mitglied';
         $dbResult->Test = 'GetAll (Admin)';
         return $dbResult;
     }
     if (count($members) != count($queryResult)) {
         // alle werden angezeigt
         return new ErrorMessage('Mitglied', 'GetAll (Admin)', 'Anzahl Mitglieder', count($queryResult), count($members));
     }
     return true;
 }
Example #8
0
 public function match(Mitglied $mitglied)
 {
     return $mitglied->getLatestRevision()->hasFlag($this->flagid);
 }
Example #9
0
 function Update($nr, $loginname, $passwort, $rechte, $vorname, $nachname, $email)
 {
     global $db_config, $sqldb, $login;
     // Nur wenn wir als Administrator angemeldet sind
     if ($login->IsAdministrator() === true || $nr == $login->Nr) {
         // Erlaube nicht, dass einfache Mitglieder ihre
         // Rechte erhöhen
         if ($login->IsAdministrator() === false) {
             $rechte = "Benutzer";
         }
         $sql = "";
         // Wurde neues Passwort angegeben?
         if (empty($passwort) === true) {
             // wenn nicht, aktualisiere nur die anderen Daten
             $sql = "UPDATE " . $db_config['prefix'] . "Mitglieder\n\t\t\t\t\t\t\tSET Login='******', Rechte='{$rechte}', Vorname='{$vorname}', Name='{$nachname}', Email='{$email}'\n\t\t\t\t\t\t\tWHERE Mitglieds_Nr='{$nr}'\n\t\t\t\t\t\t\tLIMIT 1";
         } else {
             // wenn ja, erzeuge neuen Hash und aktualisiere
             // ihn mit den anderen Daten
             $passworthash = Mitglied::PasswordHash($passwort);
             $sql = "UPDATE " . $db_config['prefix'] . "Mitglieder\n\t\t\t\t\t\t\tSET Login='******', Passwort='{$passworthash}', Rechte='{$rechte}', Vorname='{$vorname}', Name='{$nachname}', Email='{$email}'\n\t\t\t\t\t\t\tWHERE Mitglieds_Nr='{$nr}'\n\t\t\t\t\t\t\tLIMIT 1";
         }
         // Ändere Daten des Mitglieds
         if ($sqldb->Query($sql) !== false) {
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
Example #10
0
 public function match(Mitglied $mitglied)
 {
     return $mitglied->getLatestRevision()->getKontakt()->getKontoID() != null;
 }
Example #11
0
            echo form_input("hidden", "accept", "true");
            echo "<input type=\"submit\" value=\"Bestätigen\">";
            echo "</form></div>";
        }
    } elseif (isset($_GET["insert"]) === true) {
        // Versuche Benutzer anzulegen
        if (Mitglied::Insert($_POST["benutzername"], $_POST["password"], $_POST["rechte"], $_POST["vorname"], $_POST["nachname"], $_POST["email"]) === true) {
            // Wenn ok, gebe Erfolgsmeldung aus
            echo "<p style=\"text-align: center\">Nutzer wurde angelegt</p>";
        } else {
            // Wenn nicht, gebe Fehler aus
            echo "<p id=\"warning\">Nutzer konnte nicht angelegt werden. Ist Login vielleicht schon vergeben?</p>";
        }
    } elseif (isset($_GET["update"]) === true) {
        // Fehlerhafte Daten zum Ändern übertragen?
        if (empty($_POST["id"]) === true || is_numeric($_POST["id"]) === false) {
            // Wenn ja, gebe Fehler aus
            echo "<p id=\"error\">Nutzer konnte nicht geändert werden, da es ein Fehler bei der Übertragung der Informationen des Nutzers gab</p>";
        } elseif (Mitglied::Update($_POST["id"], $_POST["benutzername"], $_POST["password"], $_POST["rechte"], $_POST["vorname"], $_POST["nachname"], $_POST["email"]) === true) {
            // Wenn ok, gebe Erfolgsmeldung aus
            echo "<p style=\"text-align: center\">Nutzer wurde geändert</p>";
        } else {
            // Wenn nicht, gebe Fehler aus
            echo "<p id=\"warning\">Nutzer konnte nicht geändert werden. Ist Login vielleicht schon vergeben?</p>";
        }
    }
}
?>
</div>
<?php 
require_once "include/footer.php";
Example #12
0
 public function match(Mitglied $mitglied)
 {
     return $mitglied->getLatestRevision()->isNatPerson();
 }
 public function setMitglied(Mitglied $mitglied)
 {
     $this->setMitgliedID($mitglied->getMitgliedID());
     $this->mitglied = $mitglied;
 }
Example #14
0
<div id="cfront" class="content">
	<table id="userlist">
		<thead>
			<tr>
				<th scope="col">Login</th>
				<th scope="col">Vorname</th>
				<th scope="col">Nachname</th>
				<th scope="col">E-Mail</th>
				<th scope="col">Aktionen</th>
			</tr>
		</thead>
		<?php 
require_once "include/mitglied.php";
// Lese alle Mitglieder aus (wenn Administrator)
// oder eigene Daten (wenn Mitglied)
$members = Mitglied::GetAll();
if (empty($members) === false) {
    echo "<tbody>";
    foreach ($members as $cur) {
        ?>
			<tr>
				<td><a href="user.<?php 
        echo $ext;
        ?>
?id=<?php 
        echo htmlspecialchars($cur->Nr);
        ?>
"><?php 
        echo htmlspecialchars($cur->Login);
        ?>
</a></td>
Example #15
0
 public function match(Mitglied $mitglied)
 {
     return $mitglied->getMitgliedID() == $this->getMitgliedID();
 }
 public function match(Mitglied $mitglied)
 {
     return $mitglied->getLatestRevision()->getMitgliedschaftID() == $this->mitgliedschaftid;
 }
Example #17
0
 public function match(Mitglied $mitglied)
 {
     return in_array($mitglied->getLatestRevision()->getGliederungID(), $this->gliederungids);
 }
Example #18
0
 public function match(Mitglied $mitglied)
 {
     return $mitglied->getSchulden() <= $this->getBeitragMark();
 }
Example #19
0
function parseMitgliederFormular($ui, $session, &$mitglied = null, $dokument = null)
{
    global $config;
    $eintritt = $session->getTimestampVariable("eintritt");
    $austritt = $session->getTimestampVariable("austritt");
    $persontyp = $session->getVariable("persontyp");
    $anrede = $session->getVariable("anrede");
    $name = $session->getVariable("name");
    $vorname = $session->getVariable("vorname");
    $geburtsdatum = $session->getTimestampVariable("geburtsdatum");
    $nationalitaet = $session->getVariable("nationalitaet");
    $firma = $session->getVariable("firma");
    $adresszusatz = $session->getVariable("adresszusatz");
    $strasse = $session->getVariable("strasse");
    $hausnummer = $session->getVariable("hausnummer");
    $plz = $session->getVariable("plz");
    $ortname = $session->getVariable("ort");
    $stateid = is_numeric($session->getVariable("stateid")) ? $session->getVariable("stateid") : null;
    $telefon = $session->getVariable("telefon");
    $handy = $session->getVariable("handy");
    $email = $session->getVariable("email");
    $kontoinhaber = $session->getVariable("kontoinhaber");
    $iban = $session->getVariable("iban");
    $bic = $session->getVariable("bic");
    $gliederungid = intval($session->getVariable("gliederungid"));
    $gliederung = $session->getStorage()->getGliederung($gliederungid);
    $mitgliedschaftid = $session->getIntVariable("mitgliedschaftid");
    $mitgliedschaft = $session->getStorage()->getMitgliedschaft($mitgliedschaftid);
    $beitrag = $session->getDoubleVariable("beitrag");
    $beitragtimeformat = $session->getStorage()->getBeitragTimeFormat($session->getIntVariable("beitragtimeformatid"));
    $flags = $session->getListVariable("flags");
    $textfields = $session->getListVariable("textfields");
    $kommentar = $session->getVariable("kommentar");
    $natperson = null;
    $jurperson = null;
    if ($persontyp == "nat") {
        $natperson = $session->getStorage()->searchNatPerson($anrede, $name, $vorname, $geburtsdatum, $nationalitaet);
    } else {
        $jurperson = $session->getStorage()->searchJurPerson($firma);
    }
    $konto = null;
    if ($iban != null) {
        if (trim($kontoinhaber) == "") {
            $kontoinhaber = $persontyp == "nat" ? $vorname . " " . $name : $firma;
        }
        $konto = $session->getStorage()->searchKonto($kontoinhaber, $iban, $bic);
    }
    $ort = $session->getStorage()->searchOrt($plz, $ortname, $stateid);
    $email = $session->getStorage()->searchEMail($email);
    $kontakt = $session->getStorage()->searchKontakt($adresszusatz, $strasse, $hausnummer, $ort->getOrtID(), $telefon, $handy, $email->getEMailID(), $konto == null ? null : $konto->getKontoID());
    if ($mitglied == null) {
        if (!$session->isAllowed("mitglieder_create", $gliederung->getGliederungID())) {
            $ui->viewLogin();
            exit;
        }
        $mitglied = new Mitglied($session->getStorage());
        $mitglied->setGlobalID($config->generateGlobalID());
        // Zwischenspeichern, um ersten Beitrag hinzuzufuegen
        $mitglied->save();
        $beitragobj = $beitragtimeformat->getBeitrag();
        if ($beitragobj != null) {
            $mitgliedbeitrag = new MitgliedBeitrag($session->getStorage());
            $mitgliedbeitrag->setMitglied($mitglied);
            $mitgliedbeitrag->setBeitrag($beitragobj);
            $mitgliedbeitrag->setHoehe($beitragobj->getHoehe() == null ? $beitrag : $beitragobj->getHoehe());
            $mitgliedbeitrag->save();
        }
    } else {
        if (!$session->isAllowed("mitglieder_modify", $mitglied->getLatestRevision()->getGliederungID())) {
            $ui->viewLogin();
            exit;
        }
        if ($gliederung->getGliederungID() != $mitglied->getLatestRevision()->getGliederungID() && !$session->isAllowed("mitglieder_moveto", $gliederung->getGliederungID())) {
            $ui->viewLogin();
            exit;
        }
    }
    $mitglied->setEintrittsdatum($eintritt);
    $mitglied->setAustrittsdatum($austritt);
    $mitglied->save();
    $revision = new MitgliedRevision($session->getStorage());
    $revision->setTimestamp(time());
    $revision->isGeloescht($austritt != null);
    $revision->setGlobalID($config->generateGlobalID());
    $revision->setUser($session->getUser());
    $revision->setMitglied($mitglied);
    $revision->setMitgliedschaft($mitgliedschaft);
    $revision->setGliederung($gliederung);
    $revision->setBeitrag($beitrag);
    $revision->setBeitragTimeFormat($beitragtimeformat);
    $revision->setNatPerson($natperson);
    $revision->setJurPerson($jurperson);
    $revision->setKontakt($kontakt);
    $revision->setKommentar($kommentar);
    foreach ($flags as $flagid => $selected) {
        $revision->setFlag($session->getStorage()->getMitgliedFlag($flagid));
    }
    foreach ($textfields as $textfieldid => $value) {
        $revision->setTextField($session->getStorage()->getMitgliedTextField($textfieldid), $value);
    }
    $revision->save();
    if ($dokument != null) {
        $session->getStorage()->addMitgliedDokument($mitglied->getMitgliedID(), $dokument->getDokumentID());
    }
    if ($session->hasVariable("mailtemplateid")) {
        $mailtemplate = $session->getStorage()->getMailTemplate($session->getVariable("mailtemplateid"));
        if ($mailtemplate != null) {
            $mail = $mailtemplate->generateMail($mitglied->getLatestRevision()->getKontakt()->getEMail(), new MitgliedTextReplacer($mitglied));
            $mail->send();
        }
    }
}
Example #20
0
 public function match(Mitglied $mitglied)
 {
     return $mitglied->getLatestRevision()->getKontakt()->getOrt()->getStateID() == $this->stateid;
 }