@php use App\Models\SchoolSetting; use Illuminate\Support\Facades\Storage; $schoolName = SchoolSetting::get('school_name', ''); $schoolAddress = SchoolSetting::get('school_address', ''); $schoolEstablishedYear = SchoolSetting::get('school_established_year', ''); $schoolAddressLine = collect([ $schoolAddress, $schoolEstablishedYear ? "Established: {$schoolEstablishedYear}" : null, ])->filter()->implode(' | '); $toDataUri = function (?string $path, string $disk = 'public'): ?string { if (!$path) { return null; } $storage = Storage::disk($disk); if (!$storage->exists($path)) { return null; } $mime = $storage->mimeType($path) ?: 'image/png'; return 'data:' . $mime . ';base64,' . base64_encode($storage->get($path)); }; // School seal/signature are the same for every card on the page, so // they're resolved once here instead of once per card. $sealDataUri = $toDataUri(SchoolSetting::get('school_seal')); $signatureDataUri = $toDataUri(SchoolSetting::get('principal_signature')); @endphp @foreach ($admitCards->chunk(2) as $pair) @foreach ($pair as $admitCard) @php $student = $admitCard->student; $exam = $admitCard->exam; $studentPhotoDataUri = $toDataUri($student->user?->avatar); @endphp @endforeach @if ($pair->count() === 1) @endif @endforeach
{{ $schoolName }}
@if ($schoolAddressLine)
{{ $schoolAddressLine }}
@endif
Admit Card
@if ($student->group || $student->section) @endif
Name {{ $student->user?->name }}
Class {{ $student->class?->name }}
Roll No {{ sprintf('%02d', $student->roll_no) }}
Group {{ $student->group?->name ?? "-" }} Section {{ $student->section?->name ?? "-" }}
Exam {{ $exam->examType?->name }} - {{ $exam->session_year }}
Period {{ $exam->start_date?->format('d M') }} to {{ $exam->end_date?->format('d M Y') }}
@if ($studentPhotoDataUri) Photo @endif
@if ($sealDataUri) Seal
@endif School Seal
@if ($signatureDataUri) Signature
@endif Principal's Signature