Literatur neu

<?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');