summaryrefslogtreecommitdiff
path: root/donations.php
diff options
context:
space:
mode:
Diffstat (limited to 'donations.php')
-rw-r--r--donations.php197
1 files changed, 197 insertions, 0 deletions
diff --git a/donations.php b/donations.php
new file mode 100644
index 0000000..428616c
--- /dev/null
+++ b/donations.php
@@ -0,0 +1,197 @@
+<?php
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+?>
+<?
+/* vim: set ts=4 sw=4 et : */
+
+$_title = "Alle Spenden";
+
+require_once __DIR__ . "/check_auth.php";
+
+$_constraint = "";
+if (isset($_GET['year']) && $_GET['year'] > 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'] . " <small>nach ID</small>)";
+}
+
+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 '<a style="color: blue !important;" href="/db/main/download.php?document&filename=' . basename($g) . '&uid=' . substr(basename(dirname($g)), 0, -1) . '">' . basename($g) . '</a>';
+ echo '&nbsp;<a onclick="return confirm(\'Wirklich unwiderruflich entsorgen?\');" style="color: blue !important;" href="/db/main/deldocument.php?filename=' . basename($g). '&uid=' . substr(basename(dirname($g)), 0, -1) . '"><i style="color: red !important;" class="fas fa-trash-alt"></i></a>';
+ echo '<br />';
+ }
+ }
+
+ $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 "<a href='/db/email/" . $s . "'>[Mail " . $s . "]</a><br />";
+ }
+ $stmt2->reset();
+ };
+ $checkboxes = true;
+
+ $bottom = <<<EOD
+<div class="admin_actionsbelow">
+ Ausgewählte
+ <button class="medium" style="background: darkorange;" onclick="return delDonation();"><i class="fas fa-trash-alt"></i> entfernen</button>
+</div>
+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';
+?>
+
+<script>
+function delDonation() {
+ $.ajaxSetup({async:false});
+ $.ajax({
+ type: 'POST',
+ url: '/db/main/deldonation.php',
+ data: {
+ 'ids': getIDs_<?=$id?>()
+ }
+ });
+ window.location.reload();
+ return false;
+}
+</script>
+<?
+})();
+
+include_once __DIR__ . "/footer.php";