From cdea8caa5617f0cb77bcbc9803759abd2df50644 Mon Sep 17 00:00:00 2001 From: Niklas Olmes Date: Fri, 24 Apr 2026 19:30:00 +0200 Subject: stipcrm --- donations.php | 197 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 donations.php (limited to 'donations.php') diff --git a/donations.php b/donations.php new file mode 100644 index 0000000..428616c --- /dev/null +++ b/donations.php @@ -0,0 +1,197 @@ + + 2000) { + $_constraint = " WHERE Geldeingang >= '" . intval($_GET['year']) . "-01-01' AND Geldeingang < '" . (intval($_GET['year']) + 1) . "-01-01'"; + $_title .= " (Jahr " . $_GET['year'] . ")"; +} +if (isset($_GET['ay']) && $_GET['ay'] > 2000) { + $_constraint = " WHERE Geldeingang >= '" . intval($_GET['ay']) . "-09-01' AND Geldeingang < '" . (intval($_GET['ay']) + 1) . "-09-01'"; + $_title .= " (Förderjahr/Akad. Jahr an FH " . $_GET['ay'] . "/" . (intval($_GET['ay'])+1) . ")"; +} +if (isset($_GET['call']) && $_GET['call'] != "") { + $_constraint = " WHERE `call` = '" . $_GET['call'] . "'"; + $_title .= " (Call " . $_GET['call'] . ")"; +} +if (isset($_GET['last']) && $_GET['last'] != "") { + $_constraint = " ORDER BY Spenden.ID DESC LIMIT " . intval($_GET['last']); + $_title .= " (Letzte " . $_GET['last'] . " nach ID)"; +} + +include_once __DIR__ . "/header.php"; +require_once __DIR__ . "/../includes/common.php"; +require_once __DIR__ . "/../includes/db2.php"; + +doTitle(); + +(function () use ($_constraint, $mysqli2) { + $id = "donations5"; + $sql = " +SELECT + Spenden.ID AS SpendenID, + Spenden.SuperID AS SuperSpendenID, + Person AS PersID, + CONCAT(Personen.Nachname, ', ', Personen.Vorname) AS Name, + Spenden.Organisation AS OrgaID, + Organisationen.Name AS Organisation, + legal.name AS Rechtsform, + contract AS VertrID, + CONCAT(calls.name, ' [', contracts.call, '] - ', ContractOrga.Name) AS Vertrag, + Kommentar, + Betrag, + DATE(Geldeingang) AS Geldeingang, + Förderjahr, + Spendenarten.Name AS Spendenart, + FPerson.Anrede, FPerson.Ansprache, FPerson.Vorname, FPerson.Nachname, FPerson.Geschlecht, + Organisationen.strasse AS Strasse, + Organisationen.plz AS PLZ, + Organisationen.ort AS Ort, + Förderer.zahlungsanmerkung AS Zahlungsanmerkung + +FROM Spenden + +LEFT JOIN Personen ON Spenden.Person = Personen.ID +LEFT JOIN Organisationen ON Spenden.Organisation = Organisationen.ID +LEFT JOIN Förderer ON Förderer.Organisation = Organisationen.ID +LEFT JOIN Spendenarten ON Spenden.Förderart = Spendenarten.ID +LEFT JOIN Personen AS FPerson ON Förderer.zuwendungen = FPerson.ID +LEFT JOIN contracts ON Spenden.contract = contracts.id +LEFT JOIN Förderer AS ContractPatron ON contracts.patron = ContractPatron.ID +LEFT JOIN Organisationen AS ContractOrga ON ContractPatron.Organisation = ContractOrga.ID +LEFT JOIN calls ON contracts.`call` = calls.shorthand +LEFT JOIN legal ON Förderer.legal = legal.id +"; + $sql .= $_constraint; + $getthdef = true; + $order = '[[1, "desc"]]'; + $entrytable = 'Spenden'; + $idcell = 'SpendenID'; + $idcellreal = 'ID'; + $types = [ + 'Spendenquittung erstellt' => 'checkbox' + ]; + $editable = [ + 'Kommentar', + 'Betrag', + 'Geldeingang', + 'Förderjahr', + 'Spendenquittung erstellt', + 'Spendenquittung verschickt' + ]; + $callback_heading = "Dokumente u. Mails"; + + $globs = glob(__DIR__ . "/../uploads/*donation*_/*.pdf", GLOB_BRACE|GLOB_NOSORT|GLOB_ERR); + $callback = function ($x) use ($globs, $_constraint, $mysqli2) { + + foreach($globs as $g) { + //foreach (glob(__DIR__ . "/../uploads/{" . $x . "donation*,*-" . $x . "donation*" . "}_/*.pdf", GLOB_BRACE|GLOB_NOSORT|GLOB_ERR) as $d) { + if (strstr($g, "/" . $x . "donation") !== false || strstr($g, "-" . $x . "donation") !== false) { + echo '' . basename($g) . ''; + echo ' '; + echo '
'; + } + } + + $sql2 = "select ID FROM mails WHERE MATCH (attached) AGAINST ('" . $x . "donation*' IN BOOLEAN MODE)"; + $stmt2 = $mysqli2->prepare($sql2); + $stmt2->bind_result($s); + $stmt2->execute(); + while ($stmt2->fetch()) { + echo "[Mail " . $s . "]
"; + } + $stmt2->reset(); + }; + $checkboxes = true; + + $bottom = << + Ausgewählte + + +EOD; + + include __DIR__ . '/autotable.php'; + + $pdf_sql = " +SELECT + Spenden.ID AS SpendenID, + Person AS PersID, + CONCAT ( + IF(Spenden.Organisation > 0, CONCAT(Organisationen.ID, 'orga', '-'), ''), + IF(Förderer.zuwendungen > 0, CONCAT(FPerson.ID, 'person', '-'), ''), + IF(Spenden.Person > 0, CONCAT(Spenden.Person, 'person', '-'), ''), + Spenden.ID, 'donation' + ) AS uid, + CONCAT(Personen.Nachname, ', ', Personen.Vorname) AS Name, + Spenden.Organisation AS OrgaID, + Organisationen.Name AS Organisation, + Kommentar, + Betrag, + DATE(Geldeingang) AS Geldeingang, + Förderjahr, + Spendenarten.Name AS Spendenart, + `Spendenquittung erstellt`, + DATE(`Spendenquittung verschickt`) AS `Spendenquittung verschickt`, + `Spendenquittung Person` AS QuittPersID, + IF(Förderer.zuwendungen > 0, FPerson.Anrede, Personen.Anrede) AS Anrede, + IF(Förderer.zuwendungen > 0, FPerson.Ansprache, Personen.Ansprache) AS Ansprache, + IF(Förderer.zuwendungen > 0, FPerson.Vorname, Personen.Vorname) AS Vorname, + IF(Förderer.zuwendungen > 0, FPerson.Nachname, Personen.Nachname) AS Nachname, + IF(Förderer.zuwendungen > 0, FPerson.Geschlecht, Personen.Geschlecht) AS Geschlecht, + IF(Förderer.zuwendungen > 0, FPerson.Email, Personen.Email) AS Email, + IF(Spenden.Organisation > 0, Organisationen.strasse, Personen.Straße) AS Strasse, + IF(Spenden.Organisation > 0, Organisationen.plz, Personen.PLZ) AS PLZ, + IF(Spenden.Organisation > 0, Organisationen.ort, Personen.Ort) AS Ort + +FROM Spenden + +LEFT JOIN Personen ON Spenden.Person = Personen.ID +LEFT JOIN Organisationen ON Spenden.Organisation = Organisationen.ID +LEFT JOIN Förderer ON Förderer.Organisation = Organisationen.ID +LEFT JOIN Spendenarten ON Spenden.Förderart = Spendenarten.ID +LEFT JOIN Personen AS FPerson ON Förderer.zuwendungen = FPerson.ID +"; + $pdf_sql .= " WHERE Spenden.ID IN "; + $email_sql = $pdf_sql; + $pdf_file = "spendenbescheinigung"; + include __DIR__ . '/autoactions.php'; + include __DIR__ . '/autoemail.php'; + include __DIR__ . '/autopdf.php'; +?> + + +