index.php

Code Hygiene Score: 100

Keine Issues gefunden.

Versionen 2

Code

<?php ob_start(); ?>

<h1>Content Pipeline</h1>

<div class="stats-grid">
    <div class="stat-card">
        <span class="stat-card__value"><?= $stats['pipelines'] ?? 0 ?></span>
        <span class="stat-card__label">Pipelines</span>
    </div>
    <div class="stat-card stat-card--success">
        <span class="stat-card__value"><?= $stats['runs_completed'] ?? 0 ?></span>
        <span class="stat-card__label">Runs erfolgreich</span>
    </div>
    <div class="stat-card stat-card--danger">
        <span class="stat-card__value"><?= $stats['runs_failed'] ?? 0 ?></span>
        <span class="stat-card__label">Runs fehlgeschlagen</span>
    </div>
    <div class="stat-card stat-card--info">
        <span class="stat-card__value"><?= $stats['documents_processed'] ?? 0 ?></span>
        <span class="stat-card__label">Dokumente verarbeitet</span>
    </div>
</div>

<div class="page-actions">
    <a href="/content-pipeline/import" class="btn btn--secondary">Import-Ansicht</a>
    <a href="/content-pipeline/new" class="btn btn--primary">Neue Pipeline</a>
</div>

<h2>Pipelines</h2>

<table id="pipeline-table" data-sortable>
    <thead>
        <tr>
            <th data-sort="id">ID</th>
            <th data-sort="name">Name</th>
            <th>Steps</th>
            <th>Runs</th>
            <th>Letzter Run</th>
            <th>Aktionen</th>
        </tr>
    </thead>
    <tbody>
        <?php if (!empty($pipelines)): ?>
        <?php foreach ($pipelines as $pipeline): ?>
        <tr>
            <td>
                <a href="/content-pipeline/<?= $pipeline['id'] ?>">
                    <?= $pipeline['id'] ?>
                    <?php if ($pipeline['is_default']): ?>
                    <span class="badge badge--success" title="Standard">*</span>
                    <?php endif; ?>
                </a>
            </td>
            <td>
                <a href="/content-pipeline/<?= $pipeline['id'] ?>"><?= htmlspecialchars($pipeline['name']) ?></a>
            </td>
            <td><?= $pipeline['active_steps'] ?? 0 ?> aktiv</td>
            <td><?= $pipeline['total_runs'] ?? 0 ?></td>
            <td>
                <?php if ($pipeline['last_run_at']): ?>
                <?= substr($pipeline['last_run_at'], 0, 16) ?>
                <?php else: ?>
                <span class="text-muted">-</span>
                <?php endif; ?>
            </td>
            <td>
                <a href="/content-pipeline/<?= $pipeline['id'] ?>" class="btn btn--small">Details</a>
                <form action="/content-pipeline/<?= $pipeline['id'] ?>/run" method="POST" style="display:inline;">
                    <input type="hidden" name="_csrf_token" value="<?= htmlspecialchars($csrfToken ?? '') ?>">
                    <button type="submit" class="btn btn--small btn--primary">Run</button>
                </form>
            </td>
        </tr>
        <?php endforeach; ?>
        <?php else: ?>
        <tr><td colspan="6" class="empty-state empty-state--small">Keine Pipelines vorhanden</td></tr>
        <?php endif; ?>
    </tbody>
</table>

<p class="links-bar">
    <a href="/docs/modul/content-pipeline">Dokumentation</a>
</p>

<?php $content = ob_get_clean(); ?>
<?php require VIEW_PATH . '/layout.php'; ?>
← Übersicht