Válasszon nyelvet

Szerződések

{source}
<?php
// Kód Zmluvy V1.5

// Pripojenie k databáze a získanie počtu zmlúv
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('COUNT(*)')
      ->from($db->quoteName('#__zmluvy'));  // Vaša tabuľka zmlúv s predponou
$db->setQuery($query);
$total = $db->loadResult();

// Počet zmlúv na stránku
$limit = 20;

// Získanie aktuálnej stránky z URL (ak neexistuje, predvolená je 0)
$app = JFactory::getApplication();
$page = max(1, $app->input->getInt('zmluvy_page', 1));
$limitstart = ($page - 1) * $limit;

// Vytvorenie stránkovania
$jpagination = new JPagination($total, $limitstart, $limit);

// Získanie zmlúv pre aktuálnu stránku
$query = $db->getQuery(true);
$query->select('*')
      ->from($db->quoteName('#__zmluvy'))  // Vaša tabuľka zmlúv
      ->order('id DESC')
      ->setLimit($limit, $limitstart);
$db->setQuery($query);
$contracts = $db->loadObjectList();

// CSS štýly pre tabuľku a modálne okno
echo '<style>
    table {
        border-collapse: collapse;
        width: 100%;
    }
    table, th, td {
        border: 1px solid black;
    }
    th, td {
        padding: 8px;
        text-align: left;
    }
    th {
        background-color: #135b43;
        color: white;
    }
    tr:nth-child(even) {
        background-color: #f2f2f2;
    }
    td.subject {
        width: 33%;
        max-width: 300px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .modal {
        display: none;
        position: fixed;
        z-index: 1;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: rgba(0, 0, 0, 0.4);
    }
    .modal-content {
        background-color: #fff;
        margin: 15% auto;
        padding: 20px;
        border: 1px solid #888;
        width: 80%;
    }
    .close {
        color: #aaa;
        float: right;
        font-size: 28px;
        font-weight: bold;
    }
    .close:hover,
    .close:focus {
        color: black;
        text-decoration: none;
        cursor: pointer;
    }

    .zmluvy-pagination {
        display: flex;
        gap: 10px;
        margin-top: 22px;
        align-items: center;
        flex-wrap: wrap;
    }

    .zmluvy-pagination a,
    .zmluvy-pagination span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 43px;
        height: 48px;
        padding: 0 16px;
        border: 1px solid #135b43;
        border-radius: 5px;
        color: #135b43;
        background: #fff;
        text-decoration: none;
        font-weight: 500;
    }

    .zmluvy-pagination a:hover {
        background: #eaf4f0;
        color: #135b43;
    }

    .zmluvy-pagination .active {
        background: #135b43;
        color: #fff;
        border-color: #135b43;
    }

</style>';

// HTML tabuľka na zobrazenie zmlúv
echo '<table>';
echo '<thead>';
echo '<tr>';
echo '<th>Szerződés száma</th>';
echo '<th>Megrendelő</th>';
echo '<th>Szállító</th>';
echo '<th style="width: 33%;">A szerződés tárgya</th>';
echo '<th>A szerződés összege</th>';
echo '<th>Hatálybalépés dátuma / Hatálybalépés szövege</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';

// Zobrazenie údajov pre každú zmluvu
foreach ($contracts as $contract) {
    echo '<tr>';
    echo '<td>' . htmlspecialchars($contract->cislo_zmluvy ?? '', ENT_QUOTES, 'UTF-8') . '</td>';
    echo '<td>' . htmlspecialchars($contract->obstaravatel ?? '', ENT_QUOTES, 'UTF-8') . '</td>';
    echo '<td>' . htmlspecialchars($contract->dodavatel ?? '', ENT_QUOTES, 'UTF-8') . '</td>';
    
    // Predmet zmluvy ako odkaz na zobrazenie detailov v modálnom okne
    echo '<td class="subject"><a href="#" class="open-popup" data-id="' . $contract->id . '">' . htmlspecialchars($contract->predmet_zmluvy ?? '', ENT_QUOTES, 'UTF-8') . '</a></td>';
    echo '<td>' . htmlspecialchars($contract->suma_zmluva ?? '', ENT_QUOTES, 'UTF-8') . '</td>';
    echo '<td>' . (!empty($contract->text_ucinnosti) ? htmlspecialchars($contract->text_ucinnosti ?? '', ENT_QUOTES, 'UTF-8') : (!empty($contract->datum_ucinnosti) ? date('d.m.Y', strtotime($contract->datum_ucinnosti)) : '')) . '</td>';
    echo '</tr>';

    // Skryté modálne okno pre každú zmluvu s detailmi
    echo '<div id="modal-' . $contract->id . '" class="modal">
        <div class="modal-content">
            <span class="close">&times;</span>
            <h2>Szerződés részletei ' . htmlspecialchars($contract->cislo_zmluvy ?? '', ENT_QUOTES, 'UTF-8') . '</h2>
            <p><strong>Típus:</strong> ' . htmlspecialchars($contract->druh ?? '', ENT_QUOTES, 'UTF-8') . '</p>
            <p><strong>Tárgy:</strong> ' . htmlspecialchars($contract->predmet_zmluvy ?? '', ENT_QUOTES, 'UTF-8') . '</p>
            <p><strong>Szállító:</strong> ' . htmlspecialchars($contract->dodavatel ?? '', ENT_QUOTES, 'UTF-8') . '</p>
            <p><strong>Szállító cégjegyzékszáma (IČO):</strong> ' . htmlspecialchars($contract->dodavatel_ico ?? '', ENT_QUOTES, 'UTF-8') . '</p>
            <p><strong>Szállító székhelye:</strong> ' . htmlspecialchars($contract->dodavatel_sidlo ?? '', ENT_QUOTES, 'UTF-8') . '</p>
            <p><strong>Megrendelő:</strong> ' . htmlspecialchars($contract->obstaravatel ?? '', ENT_QUOTES, 'UTF-8') . '</p>
            <p><strong>Megrendelő cégjegyzékszáma (IČO):</strong> ' . htmlspecialchars($contract->obstaravatel_ico ?? '', ENT_QUOTES, 'UTF-8') . '</p>
            <p><strong>Megrendelő székhelye:</strong> ' . htmlspecialchars($contract->obstaravatel_sidlo ?? '', ENT_QUOTES, 'UTF-8') . '</p>
            <p><strong>Összeg:</strong> ' . htmlspecialchars($contract->suma_zmluva ?? '', ENT_QUOTES, 'UTF-8') . ' €</p>
            <p><strong>Hatálybalépés dátuma:</strong> ' . (!empty($contract->datum_ucinnosti) ? date('d.m.Y', strtotime($contract->datum_ucinnosti)) : '') . '</p>
            <p><strong>Érvényesség vége:</strong> ' . (!empty($contract->datum_platnosti_do) ? date('d.m.Y', strtotime($contract->datum_platnosti_do)) : '') . '</p>
            <p><strong>Közbeszerzési hirdetmény (ÚVO):</strong> ' . htmlspecialchars($contract->uvo ?? '', ENT_QUOTES, 'UTF-8') . '</p>
            <p><strong>Megjegyzés:</strong> ' . htmlspecialchars($contract->poznamka ?? '', ENT_QUOTES, 'UTF-8') . '</p>
            <p><strong>Hivatkozás:</strong> ' . htmlspecialchars($contract->ref ?? '', ENT_QUOTES, 'UTF-8') . '</p>';
    
    // Odkaz na stiahnutie prílohy, ak existuje
    $query_attachments = $db->getQuery(true);
    $query_attachments->select('*')
                      ->from($db->quoteName('#__prilohy'))  // Vaša tabuľka príloh
                      ->where($db->quoteName('id_zmluvy') . ' = ' . $db->quote($contract->id));
    $db->setQuery($query_attachments);
    $attachments = $db->loadObjectList();
    
    if ($attachments) {
        echo '<h3>Mellékletek:</h3>';
        foreach ($attachments as $attachment) {
            // Upravili sme túto časť na správnu cestu
            echo '<a href="' . JUri::root() . 'media/uploads/pdf_zmluvy/' . rawurlencode($attachment->nazov_suboru ?? '') . '" target="_blank">Stiahnuť ' . htmlspecialchars($attachment->nazov_suboru ?? '', ENT_QUOTES, 'UTF-8') . '</a><br>';
        }
    } else {
        echo '<p>Žiadne prílohy k dispozícii.</p>';
    }

    echo '</div></div>';
}

echo '</tbody>';
echo '</table>';

// Vlastné stránkovanie – vhodné pre článok cez Sourcerer

$currentUrl = JUri::getInstance()->toString(array('path'));$totalPages = ceil($total / $limit);
$currentPage = max(1, $app->input->getInt('zmluvy_page', 1));echo '<div class="zmluvy-pagination">';if ($currentPage > 1) {
echo '<a href="' . htmlspecialchars($currentUrl . '?zmluvy_page=1', ENT_QUOTES, 'UTF-8') . '">« Prvá</a>';
}for ($i = 1; $i <= $totalPages; $i++) {
if ($i == $currentPage) {
echo '<span class="active">' . $i . '</span>';
} else {
echo '<a href="' . htmlspecialchars($currentUrl . '?zmluvy_page=' . $i, ENT_QUOTES, 'UTF-8') . '">' . $i . '</a>';
}
}if ($currentPage < $totalPages) {
echo '<a href="' . htmlspecialchars($currentUrl . '?zmluvy_page=' . $totalPages, ENT_QUOTES, 'UTF-8') . '">Posledná »</a>';
}echo '</div>';

// JavaScript na otvorenie a zatvorenie modálnych okien
echo '<script>
document.addEventListener("DOMContentLoaded", function() {
    document.querySelectorAll(".open-popup").forEach(function(element) {
        element.addEventListener("click", function(event) {
            event.preventDefault();
            var contractId = this.getAttribute("data-id");
            var modal = document.getElementById("modal-" + contractId);
            modal.style.display = "block";
        });
    });

    document.querySelectorAll(".close").forEach(function(element) {
        element.addEventListener("click", function() {
            var modal = this.closest(".modal");
            modal.style.display = "none";
        });
    });

    window.addEventListener("click", function(event) {
        if (event.target.classList.contains("modal")) {
            event.target.style.display = "none";
        }
    });
});
</script>';
?>
{/source}

 

MEGJEGYZÉS:
Ha a szerződés összegénél a 0.01 érték szerepel, az azt jelenti, hogy az összeg a szerződésben nincs pontosan megadva, hanem például valamilyen törvényre hivatkozik, vagy olyan típusú szerződésről van szó, amely nem tartalmaz árat.

Szerződés száma Megrendelő Szállító Szerződés tárgya Szerződés összege Hatálybalépés dátuma / szövege
ZML-2026-0020 Obec Veľké Dvorníky Union poisťovňa, a.s. Az összeg nincs pontosan meghatározva 18.06.2026
ZML-2026-0019 BBAU s.r.o. Obec Veľké Dvorníky Az összeg nincs pontosan meghatározva 17.06.2026
ZML-2026-0018 Ferenc Lavu Obec Veľké Dvorníky 234.89 06.06.2026
ZML-2026-0017 Obec Veľké Dvorníky BBAU s.r.o. Az összeg nincs pontosan meghatározva 03.06.2026
FNPŠ-Z-2025/001-351 Fond na podporu športu Obec Veľké Dvorníky 162605 21.05.2026
2026_0193 ŠKOLSKÉ HOSPODÁRSTVO - BÚŠLAK, spol. s r.o. Obec Veľké Dvorníky 1564.73 15.05.2026
ZML-2026-0016 Mgr. Bianka Tükör Dunai / Ádám Dunai Obec Veľké Dvorníky 6000 13.05.2026
ZML-2026-0015 Obec Veľké Dvorníky AKVAMONT s.r.o.AKVAMONT s.r.o. 152250 06.05.2026
326 0071 Obec Veľké Dvorníky Dobrovoľná požiarna ochrana SR 3000 01.05.2026
ZML-2026-0014 Obec Veľké Dvorníky ITUS s.r.o. 220 01.05.2026
ZML-2026-0013 Zoltán Matlák Obec Veľké Dvorníky 235.33 01.05.2026
ZML-2026-0012 Tünde Nagyová Obec Veľké Dvorníky 217.96 02.04.2026
ZML-2026-0011 Rozália Szabóová Obec Veľké Dvorníky 199.94 01.04.2026
ZML-2026-0010 Obec Veľké Dvorníky TRIUS FINANCE, s.r.o. 4000 25.03.2026
ZML-2026-0009 Michal Posztós Obec Veľké Dvorníky 241.48 05.03.2026
ZML-2026-0008 Ladislav Csibrey, Erika Csibrey Obec Veľké Dvorníky 241.48 03.03.2026
ZML-2026-0007 Ľudovít Németh, Iveta Némethová, Mgr. Obec Veľké Dvorníky 234.89 03.03.2026
ZML-2026-0006 Obec Veľké Dvorníky Západoslovenská distribučná, a.s. 10 05.02.2026
ZML-2026-0005 Obec Veľké Dvorníky Mesto Dunajská Streda Az összeg nincs pontosan meghatározva 05.02.2026
ZML-2026-0004 Juraj Bugár Obec Veľké Dvorníky 193.11 03.02.2026