@php use Illuminate\Support\Str; if (!function_exists('isUrdu')) { function isUrdu($text) { return preg_match('/[\x{0600}-\x{06FF}]/u', $text); } } if (!function_exists('getChunks3')) { function getChunks3($array, $pattern) { $chunks = []; $offset = 0; foreach ($pattern as $size) { $chunks[] = array_slice($array, $offset, $size); $offset += $size; } if ($offset < count($array)) { $chunks[] = array_slice($array, $offset); } return $chunks; } } if (!function_exists('getChunks')) { function getChunks(array $array, array $pattern): array { $chunks = []; $offset = 0; foreach ($pattern as $size) { if ($offset >= count($array)) { break; } $chunks[] = array_slice($array, $offset, $size); $offset += $size; } // Remaining elements if ($offset < count($array)) { $chunks[] = array_slice($array, $offset); } return $chunks; } } if (!function_exists('getProgressBySubject')) { function getProgressBySubject($progressData, $subjectId) { return collect($progressData)->firstWhere('subject_id', $subjectId); } } $chunkPattern = [4, 6]; // First 4, then 6, then remaining $subjectChunks = getChunks($seniorGradeReport['classSubjects']->toArray(), $chunkPattern); $classSectionTeachers = [ 69 => [ 'Zoya Mushtaq','Moledina','Salwa Badr Alwajih' ], 37 => [ 'Warda Anwar', 'Nawal Saleem', 'Saira Riaz', 'Erina Theodore Gabriel', 'Salma Noor Ahmed', 'Shaina Sarwar' ], 38 => [ 'Nida Shigri', 'Samia Younus Malik', 'Saira Riaz', 'Zulekha khan', 'Muniba Imran', 'Shaina Sarwar' ], 39 => [ 'Nida Shigri', 'Samia Younus Malik', 'Saira Riaz', 'Zulekha khan', 'Muniba Imran', 'Shaina Sarwar' ], 62 => [ 'Warda Anwar', 'Saima Mudassir', 'Nawal Saleem', 'Erina Theodore Gabriel', 'Salma Noor Ahmed' ], 40 => [ 'Maryam Sadiq', 'Sara Abdul Razzaq', 'Humaira Sheikh', 'Sumaira Hanif Hanzala', 'Nimra Haider', 'Osama Shahid', 'Husna Asim', 'Parveen Zulfiqar', 'Sarah Saqib' ], 41 => [ 'Maryam Sadiq', 'Sara Abdul Razzaq', 'Humaira Sheikh', 'Sumaira Hanif Hanzala', 'Nimra Haider', 'Osama Shahid', 'Husna Asim', 'Parveen Zulfiqar', 'Sarah Saqib' ], 64 => [ 'Maryam Sadiq', 'Sara Abdul Razzaq', 'Humaira Sheikh', 'Sumaira Hanif Hanzala', 'Nimra Haider', 'Osama Shahid', 'Husna Asim', 'Parveen Zulfiqar', 'Sarah Saqib' ], ] @endphp @foreach($subjectChunks as $chunkIndex => $chunk)
{{-- Header for the first chunk --}} @if($chunkIndex === 0)

Progress Review

Academic Term {{$seniorGradeReport['academicYear']->name}}

Learner’s Name: {{ $seniorGradeReport['student']['name'] }}

@php $ageParts = explode(':', $seniorGradeReport['ageString'] ?? ''); @endphp

{{ $ageParts[0] ?? '' }}:{{ $ageParts[1] ?? '' }}

Grade: {{ $seniorGradeReport['student']['classSection']->name }}

Attendance: {{ $seniorGradeReport['totalDaysPresent'] }} Out Of {{ $seniorGradeReport['totalWorkingDays'] }}

@php $sectionId = $seniorGradeReport['student']['classSection']->id; $teachers = $seniorGradeReport['classSectionTeachers']->pluck('name')->toArray() ?? []; @endphp

Facilitators: @foreach($teachers as $i => $teacher) {{ $teacher }}@if($i + 1 < count($teachers)), @endif @endforeach

Date: {{ $seniorGradeReport['currentDate'] }}

@endif {{-- Subject data section --}}
@foreach($chunk as $subject) @php $progress = getProgressBySubject($seniorGradeReport['progressData'], $subject['subject_id']); $marks = $progress['marks'] ?? []; $remarks = $progress['remarks'] ?? null; $totalN = $totalD = 0; foreach ($marks as $mark) { $totalN += $mark['nenominator']; $totalD += $mark['denominator']; } @endphp

{{ $subject['subject_name'] }}

@if(count($marks)) @foreach($marks as $mark) @endforeach @endif @if(!empty($remarks)) @endif
{{ $mark['name'] }} : {{ $mark['nenominator'] }} {{ $mark['denominator'] }} Total :
{{ $totalD > 0 ? number_format(($totalN / $totalD) * 100, 2) : '0.00' }} %
{{ $remarks }}
@endforeach
{{-- Footer for the last chunk --}} @if($loop->last)
@if(!empty(trim($seniorGradeReport['commentValue'] ?? '')))

Comment from the Facilitator

{{ $seniorGradeReport['commentValue'] }}
@endif
@endif
@endforeach