<?php
function shortcode_literatur_kloster($atts) {
ob_start();
$atts = shortcode_atts(
array(
'kloster' => '', // z. B. [literatur_kloster kloster="Melk"]
),
$atts,
'literatur_kloster'
);
include 'db/config.php';
// Verbindung zur Datenbank
$con = new mysqli(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATABASE);
$con->set_charset('utf8');
if ($con->connect_error) {
return "<p><strong>Fehler:</strong> Datenbank ist nicht verfügbar.</p>";
}
$kloster = trim($atts['kloster']);
if (empty($kloster)) {
return "<p><strong>Fehler:</strong> Kein Kloster angegeben.</p>";
}
// echo "<h2>" . esc_html($kloster) . "</h2><br>";
// SQL-Abfrage mit Prepared Statement
$sql = "SELECT ID, Autor, Titel, Jahr, Kloster, Online_liz, Material, oa
FROM literatur
WHERE Kloster LIKE CONCAT('%', ?, '%')
ORDER BY Autor, Titel, Jahr ASC";
$stmt = $con->prepare($sql);
if (!$stmt) {
return "<p>Fehler bei der Abfrage: " . esc_html($con->error) . "</p>";
}
$stmt->bind_param("s", $kloster);
$stmt->execute();
$res = $stmt->get_result();
echo "<p>Gefundene Einträge: " . intval($res->num_rows) . "</p>";
// Material-Icons definieren
$materialIcons = [
'Artikel' => 'artikel.png',
'Buch' => 'buch.png',
'Buchkapitel' => 'buch.png',
'Bände' => 'baende.png',
'Computerdatei' => 'comp.png',
'Karte' => 'kompass.png',
'Konferenzbeitrag' => 'conference.png',
'Handschrift' => 'handschrift.png',
'Hochschulschrift' => 'diss.png',
'Video' => 'video.png',
'Website' => 'website.png',
'Zettelkatalog' => 'catalog.png'
];
// Ausgabe
echo '<div class="literatur-liste">';
while ($row = $res->fetch_assoc()) {
echo '<div class="literatur-eintrag">';
echo "✑ ";
// Danach ggf. das passende Icon anzeigen
if (!empty($row['Material']) && isset($materialIcons[$row['Material']])) {
echo '<img src="https://www.klosterbibliotheken.at/bilder/' . esc_attr($materialIcons[$row['Material']]) . '" width="20" height="21" alt="' . esc_attr($row['Material']) . '" title="' . esc_attr($row['Material']) . '"> ';
}
// Link & Titel
echo '<a href="https://www.armarium.eu/detail.php?ID=' . intval($row['ID']) . '"">';
if (!empty($row['Autor'])) {
echo esc_html($row['Autor']) . ": ";
}
if (!empty($row['Titel'])) {
echo esc_html($row['Titel']);
}
echo '</a>';
// Jahr
if (!empty($row['Jahr'])) {
echo ", " . esc_html($row['Jahr']);
}
// Lizenzsymbole
if (!empty($row['Online_liz'])) {
echo ' <img src="https://www.klosterbibliotheken.at/bilder/closed_access.png" width="15" height="16" alt="Closed Access" title="lizenzpflichtiger Volltext">';
}
if ($row['oa'] === 'ja') {
echo ' <img src="https://www.klosterbibliotheken.at/bilder/open_access.png" width="15" height="16" alt="Open Access" title="Open Access">';
}
echo '</div><br>';
}
echo '</div>';
// Aufräumen
$stmt->close();
$con->close();
return ob_get_clean();
}
add_shortcode('literatur_kloster', 'shortcode_literatur_kloster');