summaryrefslogtreecommitdiff
path: root/patrons_common.php
diff options
context:
space:
mode:
authorNiklas Olmes <niklas@olmes.de>2026-04-24 19:30:00 +0200
committerNiklas Olmes <niklas@olmes.de>2026-04-24 19:30:00 +0200
commitcdea8caa5617f0cb77bcbc9803759abd2df50644 (patch)
tree2f7f1bd3af3b2396baf5403ad1a7ad00bcb7fae9 /patrons_common.php
stipcrmHEADmain
Diffstat (limited to 'patrons_common.php')
-rw-r--r--patrons_common.php155
1 files changed, 155 insertions, 0 deletions
diff --git a/patrons_common.php b/patrons_common.php
new file mode 100644
index 0000000..b01153b
--- /dev/null
+++ b/patrons_common.php
@@ -0,0 +1,155 @@
+<?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.
+ */
+?>
+<?php
+/* vim: set ts=4 sw=4 et : */
+
+require_once __DIR__ . "/check_auth.php";
+require_once __DIR__ . "/../includes/common.php";
+include_once __DIR__ . "/header.php";
+require_once __DIR__ . "/lookup.php";
+
+doTitle();
+
+(function () use ($mysqli, $_constraint, $_year) {
+ $sql = "
+SELECT
+ Förderer.ID AS FoerdID,
+ Organisationen.ID AS OrgaID,
+ Organisationen.Name AS Organisation,
+ Organisationen.strasse AS Straße,
+ Organisationen.plz AS PLZ,
+ Organisationen.ort AS Ort,
+ SUM(contracts.ls) AS 'Anz. LS',
+ Zahlungsanmerkung,
+ Förderer.Widmung,
+ Förderer.notes AS Bemerkungen,
+ `Ansprechpartner Stipendiaten` AS APID,
+ CONCAT(APerson.Nachname, ', ', APerson.Vorname) AS `Erster Ansprechp./Kontakt für die Stips`,
+ Förderer.zuwendungen AS APZuwID,
+ CONCAT(AZuwPerson.Nachname, ', ', AZuwPerson.Vorname) AS `Ansprechpartner Zuwendung`,
+ AnfrageWF,
+ Mittelanforderung,
+ Annahmeanordnung,
+ Zusage,
+ `Kontakt hergestellt`,
+ legal.name AS Rechtsform,
+ `SEPA-Lastschrift erteilt`,
+ `im Newsletter erwähnt`,
+ `Zahlungsaufforderung gewünscht`,
+
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.apstip=1) AS '#apstip',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.apsf=1) AS '#apsf',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.apop=1) AS '#apop',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.apstr=1) AS '#apstr',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.apfi=1) AS '#apfi',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.elsv=1) AS '#elsv',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.elfa=1) AS '#elfa',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.elsft=1) AS '#elsft',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.elosv=1) AS '#elosv',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.ernl=1) AS '#ernl',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.erwk=1) AS '#erwk',
+ (SELECT COUNT(*) FROM Personen_Organisationen WHERE Personen_Organisationen.Organisation = Organisationen.ID AND Personen_Organisationen.erwm=1) AS '#erwm'
+
+FROM Förderer
+LEFT JOIN Organisationen ON Förderer.Organisation = Organisationen.ID
+LEFT JOIN Personen ON Förderer.Zuständig = Personen.ID
+LEFT JOIN Personen AS AZuwPerson ON Förderer.zuwendungen = AZuwPerson.ID
+LEFT JOIN Personen AS APerson ON Förderer.`Ansprechpartner Stipendiaten` = APerson.ID
+LEFT JOIN legal ON Förderer.legal = legal.id
+LEFT JOIN contracts ON Förderer.ID = contracts.patron
+";
+ $sql .= $_constraint;
+ $stmt = $mysqli->prepare($sql);
+ $stmt->execute();
+ $r = $stmt->get_result();
+ $id = "patrons3";
+ $order = '[[3, "asc"]]';
+ $entrytable = 'Förderer';
+ $idcell = "FoerdID";
+ $idcellreal = "ID";
+ $types = [
+ 'Bewerbungsunterlagen verschickt' => 'checkbox',
+ 'gemeinsames Foto' => 'checkbox',
+ 'Pressemitteilung' => 'checkbox',
+ 'Im Matching-Tool eingetragen' => 'checkbox',
+ 'SEPA-Lastschrift erteilt' => 'checkbox',
+ 'Zahlungsaufforderung gewünscht' => 'checkbox',
+ 'im Newsletter erwähnt' => 'checkbox',
+ 'AnfrageWF' => 'date',
+ 'Annahmeanordnung' => 'date',
+ 'Mittelanforderung' => 'date',
+ 'Zusage' => 'date',
+ ];
+ $editable = [
+ 'Bewerbungsunterlagen verschickt',
+ 'gemeinsames Foto',
+ 'Pressemitteilung',
+ 'bezahlt bis',
+ 'Betrag bezahlt',
+ 'Vertrag läuft aus',
+ 'Anzahl Leistungsstipendien',
+ 'Anzahl Sozialstipendien',
+ 'Zahlungsanmerkung',
+ 'Kontakt hergestellt',
+ 'Im Matching-Tool eingetragen',
+ 'SEPA-Lastschrift erteilt',
+ 'Zahlungsaufforderung gewünscht',
+ 'im Newsletter erwähnt',
+ 'AnfrageWF',
+ 'Mittelanforderung',
+ 'Annahmeanordnung',
+ 'Zusage',
+ ];
+ $checkboxes = true;
+ include __DIR__ . '/autotable.php';
+ $stmt->reset();
+
+ $email_sql = "
+SELECT Förderer.ID AS FoerdID, Organisationen.Name AS Foerderer, CONCAT(Förderer.ID, 'patron', '-', Personen.ID, 'person') AS uid, Personen.*, Organisationen.strasse AS Strasse, Organisationen.plz AS PLZ, Organisationen.ort AS Ort, Organisationen.Name AS Organisation, ROUND(Förderer.`Betrag bezahlt`, 0) AS Betrag, CONCAT(Förderer.ID, 'patron', '-', Personen.ID, 'person') AS genuid
+FROM Förderer
+LEFT JOIN Organisationen ON Förderer.Organisation = Organisationen.ID
+ ";
+ if ($_GET['head']) {
+ $email_sql .= " LEFT JOIN Personen ON Förderer.`Ansprechpartner Stipendiaten` = Personen.ID ";
+ } else {
+ $email_sql .= " LEFT JOIN Personen ON Förderer.`Ansprechpartner Stipendiaten` = Personen.ID ";
+ }
+ $email_sql .= " WHERE Förderer.ID IN ";
+ $pdf_sql = $email_sql;
+ $pdf_file = "anschreiben_katja";
+ $payload_sql = "SELECT Personen.ID AS PersID, Förderer.ID AS FoerdID, Personen.Geschlecht, Personen.`informale Ansprache`, Personen.Anrede, Personen.Ansprache, Personen.Titel, Personen.Vorname AS Vorname, Personen.Nachname AS Nachname, Personen_Organisationen.* FROM Personen_Organisationen LEFT JOIN Förderer ON Personen_Organisationen.Organisation = Förderer.Organisation LEFT JOIN Personen ON Personen_Organisationen.Person = Personen.ID WHERE Förderer.ID IN ";
+ $ipyear = 2023;
+ if (isset($_year) && $_year > 2000) {
+ $ipyear = intval($_year);
+ }
+ $independent_payload_sql = "
+SELECT
+ Stipendien.ID AS StipID, Stipendien.Förderer AS FoerdID, Stipendien.Förderbeginn AS Foerderbeginn, Stipendien.Förderende AS Foerderende,
+ Stipendien.Förderart AS Foerderart, Hochschulen.KanonischerName AS Hochschule,
+ Studiengänge.Name AS Studiengang,
+ ORD(`Weitergabe Daten an Förderer`) AS Weitergabe, Personen.Nachname, Personen.Vorname, Personen.Email, Personen.Geschlecht,
+ IF(event_participants.validated=1 AND event_participants.declined=0, 1, 0) AS stipvergabe
+FROM Stipendien
+INNER JOIN Personen ON Stipendien.Person = Personen.ID
+INNER JOIN Hochschulen ON Stipendien.Hochschule = Hochschulen.ID
+INNER JOIN Studiengänge ON Stipendien.Studiengang = Studiengänge.ID
+LEFT JOIN event_participants ON Personen.ID = event_participants.persid AND 598 = event_participants.eventid
+WHERE Jahr IN (" . $ipyear .") AND Förderart NOT IN (2, 6)
+ORDER BY Personen.Nachname, Personen.Vorname;";
+ include __DIR__ . '/autoactions.php';
+ include __DIR__ . '/autoemail.php';
+ include __DIR__ . '/autopdf.php';
+})();
+
+include_once __DIR__ . "/footer.php";