public function match(Mitglied $mitglied) { if (!$mitglied->getLatestRevision()->hasTextField($this->textfieldid)) { return false; } return $mitglied->getLatestRevision()->getTextField($this->textfieldid)->getValue() == $this->value; }
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(); }
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; }
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; }
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; }
public function match(Mitglied $mitglied) { return $mitglied->getLatestRevision()->hasFlag($this->flagid); }
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; } }
public function match(Mitglied $mitglied) { return $mitglied->getLatestRevision()->getKontakt()->getKontoID() != null; }
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";
public function match(Mitglied $mitglied) { return $mitglied->getLatestRevision()->isNatPerson(); }
public function setMitglied(Mitglied $mitglied) { $this->setMitgliedID($mitglied->getMitgliedID()); $this->mitglied = $mitglied; }
<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>
public function match(Mitglied $mitglied) { return $mitglied->getMitgliedID() == $this->getMitgliedID(); }
public function match(Mitglied $mitglied) { return $mitglied->getLatestRevision()->getMitgliedschaftID() == $this->mitgliedschaftid; }
public function match(Mitglied $mitglied) { return in_array($mitglied->getLatestRevision()->getGliederungID(), $this->gliederungids); }
public function match(Mitglied $mitglied) { return $mitglied->getSchulden() <= $this->getBeitragMark(); }
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(); } } }
public function match(Mitglied $mitglied) { return $mitglied->getLatestRevision()->getKontakt()->getOrt()->getStateID() == $this->stateid; }