diff options
| author | Niklas Olmes <niklas@olmes.de> | 2026-04-24 19:30:00 +0200 |
|---|---|---|
| committer | Niklas Olmes <niklas@olmes.de> | 2026-04-24 19:30:00 +0200 |
| commit | cdea8caa5617f0cb77bcbc9803759abd2df50644 (patch) | |
| tree | 2f7f1bd3af3b2396baf5403ad1a7ad00bcb7fae9 /searchperson.php | |
Diffstat (limited to 'searchperson.php')
| -rw-r--r-- | searchperson.php | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/searchperson.php b/searchperson.php new file mode 100644 index 0000000..48b1c09 --- /dev/null +++ b/searchperson.php @@ -0,0 +1,100 @@ +<?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 : */ + +$_search = $_GET['search']; +$_title = "Personensuche: " . $_search; +$_subtitle = '<p>Es wird gesucht in: Vorname (X) Nachname (X) { Email, Email-Privat, Email-Geschäftlich }, Ort, Geburtsdatum, ID.</p>'; + +require_once __DIR__ . "/check_auth.php"; +require_once __DIR__ . "/../includes/common.php"; +require_once __DIR__ . "/lookup.php"; +include_once __DIR__ . "/header.php"; + +doTitle(); + +(function () use ($mysqli, $_search) { + $sql = ' +SELECT + ID AS PersID, Nachname, Vorname, Geschlecht, Ort, Email, Telefon, Handy, DATE(Geburtsdatum) AS Geburtsdatum, Ansprache, Anrede, `informale Ansprache` +FROM Personen +'; + $constraint = ' +WHERE + CONCAT_WS(", ", Nachname, Vorname, Email) LIKE ? + OR CONCAT_WS(", ", Nachname, Vorname, `Email-Privat`) LIKE ? + oR CONCAT_WS(", ", Nachname, Vorname, `Email-Geschäftlich`) LIKE ? + OR CONCAT_WS(" ", Vorname, Nachname) LIKE ? + OR Ort LIKE ? + OR DATE(Geburtsdatum) LIKE ? + OR ID = ? +'; + $s = '%' . $_search . '%'; + $stmt = $mysqli->prepare($sql . $constraint); + $stmt->bind_param('ssssssi', $s, $s, $s, $s, $s, $s, $_search); + $stmt->execute(); + $r = $stmt->get_result(); + if ($r->num_rows === 1 && !isset($_GET['action'])) { + $l = $r->fetch_object(); + $stmt->reset(); + $mysqli->close(); +?> + <script> + window.location = '/db/person/<?=$l->PersID?>'; + </script> +<? + exit(0); + } + $id = "personsearch"; + $order = '[[2, "asc"], [3, "asc"]]'; + $checkboxes = true; + $idcell = "PersID"; + include __DIR__ . '/autotable.php'; + $stmt->reset(); + + if (!isset($_GET['action'])) { + $pdf_sql = $email_sql = 'SELECT Personen.ID AS PersID, Personen.* FROM Personen WHERE ID IN '; + include __DIR__ . '/autoactions.php'; + include __DIR__ . '/autoemail.php'; + include __DIR__ . '/autopdf.php'; + include __DIR__ . '/autoevent.php'; + } +})(); + +if (isset($_GET['action'])) { +?> + <div style="display: none;"> + <form id="action" action="<?=$_GET['action']?>" method="post"> + <input id="action_ids" name="ids" type="hidden" value=""> + </form> + </div> + + <script> +<? minStart(); ?> + function doAction() { + var ids = []; + $('#personsearch tr.selected').each(function () { + ids.push($(this).attr('data-id')); + }); + $('#action_ids').val(ids); + $('#action').submit(); + } +<? minEnd(); ?> + </script> + <button onclick="return doAction();">Okay, los!</button> +<? +} + +include_once __DIR__ . "/footer.php"; |
