From 6132b7927197ea73994d7d0e4825e4223819a6d2 Mon Sep 17 00:00:00 2001 From: Monique Hansma Date: Thu, 22 Oct 2026 13:14:10 +0200 Subject: [PATCH] overgebleven PHP 8 warnings uit het log opgelost - Schoolscores/Lijsten: ontbrekend gemiddelde of orgversie geeft null/'' - Lijsten, Userlijsten, ijkpuntengrafiek, ijkpuntentabel: geen foreach over false bij een lijst zonder scores - Pdfmaker: oude pdf alleen verwijderen als het bestand bestaat - Compactsop_model: 404 als record of pdf-bestand ontbreekt Co-Authored-By: Claude Opus 5.5 --- application/controllers/monpas/Pdfmaker.php | 2 +- application/libraries/monpas/Schoolscores.php | 2 +- application/libraries/monpas/ijkpunten/Lijsten.php | 6 +++--- application/libraries/monpas/ijkpunten/Userlijsten.php | 2 +- application/models/monpas/Compactsop_model.php | 4 +++- application/views/monpas/sopkeuze/ijkpuntengrafiek.php | 2 +- application/views/monpas/sopkeuze/ijkpuntentabel.php | 2 +- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/application/controllers/monpas/Pdfmaker.php b/application/controllers/monpas/Pdfmaker.php index 1ef0a0e..2b4ead9 100644 --- a/application/controllers/monpas/Pdfmaker.php +++ b/application/controllers/monpas/Pdfmaker.php @@ -73,7 +73,7 @@ class Pdfmaker extends MY_Controller{ $csop = $this->Compactsop_model->get($data,false, true); if ($csop && $csop->id){ - unlink($this->compactsoppath.$csop->pdfnaam); + if (is_file($this->compactsoppath.$csop->pdfnaam)) unlink($this->compactsoppath.$csop->pdfnaam); $this->Compactsop_model->update_record(['pdfnaam'=>$bestandsnaam], $csop->id); $sopid = $csop->id; } else { diff --git a/application/libraries/monpas/Schoolscores.php b/application/libraries/monpas/Schoolscores.php index b491933..289a050 100644 --- a/application/libraries/monpas/Schoolscores.php +++ b/application/libraries/monpas/Schoolscores.php @@ -326,7 +326,7 @@ class Schoolscores private function setResults(){ $this->resultaten = [ - 'totgem' => $this->gemiddelde->gem, + 'totgem' => $this->gemiddelde->gem ?? null, 'ijkpuntenok' => $this->ijkpuntenok, 'welkehoogste' => $this->welkehoogste, 'hoogstescore' => round($this->hoogstescore, 1), diff --git a/application/libraries/monpas/ijkpunten/Lijsten.php b/application/libraries/monpas/ijkpunten/Lijsten.php index 588e3e3..cc40c40 100644 --- a/application/libraries/monpas/ijkpunten/Lijsten.php +++ b/application/libraries/monpas/ijkpunten/Lijsten.php @@ -116,8 +116,8 @@ class Lijsten private function setOrgversie(){ $this->lijst->orgversie = $this->CI->Orgversies_model->get_record_by_id($this->lijst->orgversieid); - $this->lijst->periodenummer = $this->lijst->orgversie->periodenummer; - $this->lijst->jaartal = substr($this->lijst->orgversie->geldigvanaf, 2,2); + $this->lijst->periodenummer = $this->lijst->orgversie->periodenummer ?? null; + $this->lijst->jaartal = substr($this->lijst->orgversie->geldigvanaf ?? '', 2,2); } private function setIJkpunten($index){ @@ -168,7 +168,7 @@ class Lijsten private function setVergelijkingScores(){ if(!isset($this->vergelijkingen) || !$this->vergelijkingen) return; - foreach($this->vergelijkingen['scores'] AS $i => $vergelijking){ + foreach($this->vergelijkingen['scores'] ?: [] AS $i => $vergelijking){ if (!$this->scores) $this->scores = []; // PHP 8.1: no implicit false-to-array conversion if (!isset($this->scores[$i])) $this->scores[$i] = new stdClass(); // PHP 8: no auto-vivification of objects $this->scores[$i]->gemV = $vergelijking->gem; diff --git a/application/libraries/monpas/ijkpunten/Userlijsten.php b/application/libraries/monpas/ijkpunten/Userlijsten.php index 4cdac5c..4ff46e7 100644 --- a/application/libraries/monpas/ijkpunten/Userlijsten.php +++ b/application/libraries/monpas/ijkpunten/Userlijsten.php @@ -102,7 +102,7 @@ class Userlijsten if(!isset($this->scores) || !$this->scores) return; if( (!isset($this->vergelijkingen) ||! $this->vergelijkingen )) return; - foreach($this->vergelijkingen['scores'] AS $i =>$vergelijking){ + foreach($this->vergelijkingen['scores'] ?: [] AS $i =>$vergelijking){ if (!isset($this->scores[$i])) $this->scores[$i] = new stdClass(); // PHP 8: no auto-vivification of objects $this->scores[$i]->gemV = $vergelijking->gem; $this->scores[$i]->kleurV = $vergelijking->kleur; diff --git a/application/models/monpas/Compactsop_model.php b/application/models/monpas/Compactsop_model.php index c820bc5..c922322 100644 --- a/application/models/monpas/Compactsop_model.php +++ b/application/models/monpas/Compactsop_model.php @@ -19,7 +19,9 @@ class Compactsop_model extends MY_Model $this->load->helper('download'); $sop = $this->get(['id'=>$id]); - $sop= $sop[0]; + $sop= $sop ? $sop[0] : false; + // geen record of pdf-bestand niet (meer) aanwezig + if ( ! $sop || ! is_file( $this->compactsoppath . $sop->pdfnaam ) ) show_404(); header( 'Content-Description: File Transfer' ); header( 'Content-Type: application/pdf' ); header( 'Content-disposition:inline; filename="' .$sop->pdfnaam.'"'); diff --git a/application/views/monpas/sopkeuze/ijkpuntengrafiek.php b/application/views/monpas/sopkeuze/ijkpuntengrafiek.php index 604087c..f277e8f 100644 --- a/application/views/monpas/sopkeuze/ijkpuntengrafiek.php +++ b/application/views/monpas/sopkeuze/ijkpuntengrafiek.php @@ -47,7 +47,7 @@ xastitel = 'label ?>'; - scores as $index2 => $score){ + scores ?: [] as $index2 => $score){ ?> labels.push('nummer ?>'); diff --git a/application/views/monpas/sopkeuze/ijkpuntentabel.php b/application/views/monpas/sopkeuze/ijkpuntentabel.php index 5c83790..3430a7d 100644 --- a/application/views/monpas/sopkeuze/ijkpuntentabel.php +++ b/application/views/monpas/sopkeuze/ijkpuntentabel.php @@ -41,7 +41,7 @@ - scores as $score){ + scores ?: [] as $score){ $kleur = $score->disabled == 'T' || $score->disablenvt == 'T' ? '#808080' : $score->kleur; ?>