CodeIgniter 3.1.11 -> 3.4.5 (pocketarc fork) en PHP 8.3-fixes

- system/ vervangen door CodeIgniter 3.4.5 (pocketarc/codeigniter, PHP 8.2-8.5 compatibel)
- config.php, mimes.php, user_agents.php en error-views bijgewerkt naar 3.4.5
- composer.json: php-constraint "^7.4 || ^8.0" zodat composer install op 8.3 werkt
- PHP 8-fatals opgelost: count()/array-functies op FALSE/null, rekenen met lege
  strings, delen door nul, property zetten op FALSE, curly-brace string offsets,
  ongedefinieerde constanten, foute curl_setopt in Phantom_model::create_img
- dynamic properties gedeclareerd in libraries, optionele parameters voor verplichte opgelost
- vergelijkingen waar '' == 0 in PHP 8 anders uitvalt gecast naar (int)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-22 09:34:46 +02:00
co-authored by Claude Opus 5.5
parent c6afbb01f2
commit 172fcf566c
284 changed files with 3497 additions and 3718 deletions
@@ -57,7 +57,7 @@ class Nivoprofielen extends MY_controller {
"naam" => "Gebruikersactiviteiten/inhouden",
"omschrijving" => 'activiteiten aangemaakt door niet-framework gebruikers');
$pijlers=$this->Pijlers_model->get_pijlers($versieID);
array_push($pijlers, $pijlernul);
if (is_array($pijlers)) array_push($pijlers, $pijlernul);
}
else{
$pijlers= array(array("id" => 0,
@@ -432,7 +432,7 @@ class Partituur extends MY_Controller {
$wenssituaties = $this->Wenssituaties_model->getgewenstvoorpartituur($ovid,$this->globorgid);
foreach($scores as $score) {
$waarde = 1;
$res= round($score->somscore / $score->num);
$res= round($score->num != 0 ? $score->somscore / $score->num : 0);
$waarde= $this->kleurcodes->getnummer($res);
switch ($score->nummer){
@@ -165,8 +165,8 @@ class Planning extends MY_controller {
$partpijler = $this->ModPartPijlers->get_record_by_id($ppijlerID, FALSE,TRUE);
$seq = $this->input->post('selSeq');
if ($this->clean_input('positie') == 'na') {$seq = $seq + 1; }
else {$seq = $seq - 1;};
if ($this->clean_input('positie') == 'na') {$seq = (int)$seq + 1; }
else {$seq = (int)$seq - 1;};
$data = array('sequence' => $seq,
'partituurID' => $partID,
'pijlerID' => $ppijlerID,
@@ -216,6 +216,7 @@ class Reports extends MY_Controller {
$post = $this->input->get('data');
$post = json_decode($this->input->get('data'));
if ($init==1) {
if ($post === null) $post = new stdClass;
$post->orgid = $this->globorgid;
$post = json_encode($post);
$titel =array("titeltekst" => "Mensen/activiteiten");
@@ -224,6 +225,7 @@ class Reports extends MY_Controller {
else {
$criteria=json_decode($this->input->get("data")) ;
if (!$pdf){
if ($criteria === null) $criteria = new stdClass;
$criteria->orgid = $this->globorgid;
};
// hier dan de database activiteiten die nodig zijn voor het report
@@ -398,6 +400,7 @@ class Reports extends MY_Controller {
$i = 0;
foreach($criteria->BGs as $BGid) {
$orgs[$i]= $this->Organisaties_model->get_BG_by_id($BGid);
if (! $orgs[$i]) $orgs[$i] = new stdClass();
$orgs[$i]->organisaties = $this->Organisaties_model->get_orgs_per_bg($BGid);
$i = $i + 1;
};
@@ -671,7 +674,7 @@ class Reports extends MY_Controller {
$beelden=$this->Niveaus_model->get_niveaus();
$beelden2=array();
foreach($beelden as $beeld){
if (in_array($beeld->id, $criteria->beelden) ) {
if (is_array($criteria->beelden) && in_array($beeld->id, $criteria->beelden) ) {
array_push($beelden2 , $beeld);
$profielen[] = $this->Nivoprofielen_model->get_profielen_profiel($beeld->id);
};
@@ -682,7 +685,7 @@ class Reports extends MY_Controller {
$pijlers[$i]= new stdClass;
$pijlers[$i]->naam = $voorbeeld->naam;
$pijlers[$i]->score=array();
for ($j=0; $j < count($criteria->beelden );$j++ ){
for ($j=0; $j < count((array)$criteria->beelden );$j++ ){
$pijlers[$i]->score[$j]=$profielen[$j][$i]->waarde;
};
$i= $i+1;
@@ -691,7 +694,7 @@ class Reports extends MY_Controller {
foreach($criteria->beelden as $beeld){
array_push($descriptions , $this->Niveaus_model->get_niveau($beeld));
};
$data = array( 'aantal' =>count($criteria->beelden) ,
$data = array( 'aantal' =>count((array)$criteria->beelden) ,
'beelden' =>$beelden2,
'pijlers' =>$pijlers,
'descriptions' =>$descriptions,
@@ -714,6 +717,7 @@ class Reports extends MY_Controller {
$post = json_decode($this->input->get('data'));
if ($init==1) {
if ($post === null) $post = new stdClass;
$post->orgid = $this->globorgid;
$post = json_encode($post);
$titel =array("titeltekst" => "Eigen schoolbeeld");
@@ -722,6 +726,7 @@ class Reports extends MY_Controller {
else {
$criteria=json_decode($this->input->get("data")) ;
if (!$pdf){
if ($criteria === null) $criteria = new stdClass;
$criteria->orgid = $this->globorgid;
};
$orgnaam=$this->Organisaties_model->get_record_by_id($criteria->orgid,"naam");
@@ -948,7 +953,7 @@ private function GetMax($code){
$i = $i + 1;
$j = 0;
};
$aantal = count( $scholen);
$aantal = isset($scholen) ? count( $scholen) : 0;
if ($aantal >= 1) {
$k=0;
@@ -964,10 +969,10 @@ private function GetMax($code){
};
};
$grandGem = round($grandGem / ($k * $aantal),0);
$grandGem = round(($k * $aantal) != 0 ? $grandGem / ($k * $aantal) : 0,0);
$grandSchoolbeeld = $this->GetBeeldGem($grandGem );
$grandProf = round($grandProf / (7 * $aantal), 0);
$grandProf = round($aantal != 0 ? $grandProf / (7 * $aantal) : 0, 0);
$SBcolor = $this->GetColorBijBeeld($grandSchoolbeeld);
$data = array( 'pijlers' =>$pijlers,
@@ -995,6 +1000,7 @@ private function GetMax($code){
$init = $this->uri->segment(5);
$post = json_decode($this->input->get('data'));
if ($init==1) {
if ($post === null) $post = new stdClass;
$post->role = $this->userrole;
$post->userid = $this->userid;
$post->orgid = $this->globorgid;
@@ -1006,6 +1012,7 @@ private function GetMax($code){
else {
$criteria=json_decode($this->input->get("data")) ;
if (!$pdf){
if ($criteria === null) $criteria = new stdClass;
$criteria->userlevel = $this->userrole;
$criteria->userid = $this->userid;
$criteria->orgid = $this->globorgid;
@@ -274,6 +274,7 @@ class Monfin2overzicht extends MY_Controller{
}
$index += 1;
};
if (! isset($somasarray[0])) $somasarray[0] = new stdClass();
$somasarray[0]->som = $regelsom;
$somasarray[0]->budgetsom = $regelsom2;
$somasarray[0]->budgetrestant = $regelsom2 - $regelsom;
@@ -304,6 +305,7 @@ class Monfin2overzicht extends MY_Controller{
$grandtot->verschilGeb =0;
$targetorg = $this->Organisaties_model->get_record_by_id($targetorgid);
if (! $targetorg) $targetorg = new stdClass();
$targetorg->bestemmingen = $this->get_bestuur_bestemmingen($targetorgid, $kalenderjaarnr);
$targetorg->budgetten = $this->get_bestuur_gebudget($targetorgid, $kalenderjaarnr);
$verschil = $targetorg->budgetten['som']-$targetorg->bestemmingen['som'];
@@ -539,6 +541,7 @@ class Monfin2overzicht extends MY_Controller{
$targetorgid = $this->clean_input('orgid');
$kalenderjaarnr = $this->clean_input("jaarnr");
$targetorg = $this->Organisaties_model->get_record_by_id($targetorgid);
if (! $targetorg) $targetorg = new stdClass();
list($targetorg->pms, $targetorg->bud, $targetorg->kleur, $otherorgs) = $this->get_bestuur_pms($targetorgid, $kalenderjaarnr);
$sumother = $this->getsumotherpms($otherorgs);
$sumtot = $this->getsumtotpms($targetorg, $sumother);
+2 -2
View File
@@ -198,7 +198,7 @@ class Berichten extends MY_Controller {
// $clusters[$y]->vinkje = 'T';
$s = 0;
$v = $s;
$aantal = count( $clusters[ $y ]->modules );//ga per module na of er een bericht bij hoort, dan true
$aantal = is_array( $clusters[ $y ]->modules ) ? count( $clusters[ $y ]->modules ) : 0;//ga per module na of er een bericht bij hoort, dan true
$clusters[ $y ]->aantal = $aantal;
for ( $s = 0; $s < $aantal; $s ++ )
{
@@ -311,7 +311,7 @@ class Berichten extends MY_Controller {
$berichtid = $this->clean_input( "berichtid" );
$clusterid = $this->clean_input( "clusterid" );
$mededeling = "er is iets mis gegaan";
if ( $vinkje && $berichtid && $clusterid >= 0 )
if ( $vinkje && $berichtid && (int)$clusterid >= 0 )
{
$modules = $this->Modules_model->get_records_where( array("cluster_id" => $clusterid) );
if ( $vinkje == 'T' )
@@ -124,9 +124,9 @@ class Diversiteit extends MY_Controller{
$schoolgewogentot = $schoolgewogentot + 24; }
}; // foreach
}// if
$schooldq = round($schooldiversiteit / $schoolgewogentot , 2);
if ($schoolgewogentot != 0) $schooldq = round($schooldiversiteit / $schoolgewogentot , 2);
$today = date("d-m-Y");
$aantalgroepen = sizeof($groepen);
$aantalgroepen = is_array($groepen) ? sizeof($groepen) : 0;
$richtlijn=array('85%', '10%','3%','25');
$data=array('organisatie' => $organisatie,
"schooljaarnaam" => $schooljaarnaam,
@@ -183,11 +183,11 @@ class Diversiteit extends MY_Controller{
}; // foreach
}// if
$sbodq = $sbodiversiteit/$sbogewogentot;
$sodq = $sodiversiteit/$sodiversiteit;
$sbodq = $sbogewogentot != 0 ? $sbodiversiteit/$sbogewogentot : 0;
$sodq = $sodiversiteit != 0 ? $sodiversiteit/$sodiversiteit : 0;
$schooldq = round( $sbodq + $sodq, 2);
$today = date("d-m-Y");
$aantalgroepen = sizeof($groepen);
$aantalgroepen = is_array($groepen) ? sizeof($groepen) : 0;
$richtlijn=array('85%', '10%','3%','25');
$data=array('organisatie' => $organisatie,
"schooljaarnaam" => $schooljaarnaam,
+3 -3
View File
@@ -120,7 +120,7 @@ class Groepen extends MY_Controller{
if (!$this->userid ) die;
$groepid = $this->clean_input('id');
$nivos = $this->clean_input("niveauarray");
$nstring = implode(';', $nivos);
$nstring = is_array($nivos) ? implode(';', $nivos) : null;
$data=array('naam' => $this->clean_input('naam'),
'niveau' => $nstring,
@@ -388,7 +388,7 @@ class Groepen extends MY_Controller{
$schooljaarnr = $this->clean_input('schooljaar');
$orgid = $this->clean_input('orgid');
$module = $this->clean_input('module');
$vorigegroepen = $this->Groepen_model->get(['schooljaarnr'=> $schooljaarnr - 1,
$vorigegroepen = $this->Groepen_model->get(['schooljaarnr'=> (int)$schooljaarnr - 1,
'organisatie_id' =>$orgid,
'schooltype' => 'R',
'module' => $module], false, false);
@@ -425,7 +425,7 @@ class Groepen extends MY_Controller{
$schooljaarnr = $this->clean_input('schooljaar');
$orgid = $this->clean_input('orgid');
$vorigegroepen = $this->Groepen_model->get(['schooljaarnr'=> $schooljaarnr - 1,
$vorigegroepen = $this->Groepen_model->get(['schooljaarnr'=> (int)$schooljaarnr - 1,
'organisatie_id' =>$orgid,
'schooltype' => 'R',
'module' => 270], false, false);
@@ -74,7 +74,7 @@ class Overzichtsop extends MY_Controller{
{
if (!$this->userid) die;
$schooljaarnr = $this->clean_input("schooljaarnr");
$criteriumID = $this->clean_input("criteriumID");
$criteriumID = (int)$this->clean_input("criteriumID");
$organisatie = $this->Organisaties_model->getorg($this->globorgid);
$organisatie->sop = 'F';
@@ -108,7 +108,7 @@ class Rapijkpunten extends MY_Controller{
$soort = $this->Organisaties_model->get_fieldvalue(array("id"=>$this->globorgid), 'soort' );
$level123 = false;
if ($soort > 0 && soort < 4) {
if ($soort > 0 && $soort < 4) {
$level123 == true;
}
echo json_encode($level123);
+6 -6
View File
@@ -76,12 +76,12 @@ class Rapmatrix extends MY_Controller
{
$orgID = $this->clean_input('orgid');
$orgsoort = $this->clean_input('orgsoort');
$criteriumID = $this->clean_input('criteriumid');
$criteriumID = (int)$this->clean_input('criteriumid');
$orgversieID = $this->clean_input('orgversieid');
$toporg = $this->clean_input('toporg');
$toporg = $this->clean_input('toporg');
$ijkpunten = $this->Ijkpunten_model->getijkpuntenMetIndicatoren($orgversieID);
$aantalY = count($ijkpunten);
$aantalY = is_array($ijkpunten) ? count($ijkpunten) : 0;
$kleurtabel = $this->kleurcodes->getkleurlegenda();
$orgversie = $this->Orgversies_model->get_record_by_id($orgversieID);
@@ -129,7 +129,7 @@ class Rapmatrix extends MY_Controller
function haalInspectieScoresOp(){
$orgID = $this->clean_input('orgid');
$orgsoort = $this->clean_input('orgsoort');
$criteriumID = $this->clean_input('criteriumid');
$criteriumID = (int)$this->clean_input('criteriumid');
$orgversieID = $this->clean_input('orgversieid');
$ijkpunten = $this->Orgversies_model->getijkpunten($orgversieID);
@@ -153,7 +153,7 @@ class Rapmatrix extends MY_Controller
echo json_encode(
array("labels" => $labels,
"ijkpunten" => $ijkpunten,
"aantalY" => count($ijkpunten),
"aantalY" => is_array($ijkpunten) ? count($ijkpunten) : 0,
"uitslagen" => $uitslagen,
"kleurtabel" => $kleurtabel));
}
@@ -628,7 +628,7 @@ return $labels;
private function getGemiddeldeScores($labels, $ijkpunten, $kleuren, $scoretype){
$aantalY = count($ijkpunten);
$aantalY = is_array($ijkpunten) ? count($ijkpunten) : 0;
$waarden = 0;
$nvt = [];
@@ -33,7 +33,7 @@ class Rapontwikkel extends MY_Controller {
$orgversieid = $this->clean_input( "orgversionid" );
$orguserid = $this->clean_input( "orguserid" );
if ( $orguserid == 0 )
if ( (int)$orguserid == 0 )
{
$orguserid = NULL;
}
@@ -163,7 +163,7 @@ class Rapontwikkel extends MY_Controller {
if ($werktEr)
{
if ( pow( 4, $orgsoort ) == $this->userrole)
if ( pow( 4, (int)$orgsoort ) == $this->userrole)
{
$rechten = TRUE;
}
@@ -105,7 +105,7 @@ class Schoolgegevens extends MY_Controller{
// als nivo < 10 alleen verwijderen via accounts
$autorisatienivo = $this->Autorisaties_model->get(['orguser_id' =>$orguser->id], 'nivo_id', true);
if ($autorisatienivo != 10) $errorstring += " Deze gebruiker mag alleen verwijderd worden via accounts.";
if ($autorisatienivo != 10) $errorstring .= " Deze gebruiker mag alleen verwijderd worden via accounts.";
if ($errorstring <= ''){
$this->Autorisaties_model->update_record_where(['nivo_id'=>100], ['orguser_id' =>$orguser->id]);
+1 -1
View File
@@ -318,7 +318,7 @@ class Sop extends MY_Controller{
$sopkeuze = (new Sopkeuze($sopid));
$labels = $sopkeuze->getLabels();
$soplabels = $sopkeuze->getHoofdstukLabels();
$aantal = count($soplabels);
$aantal = is_array($soplabels) ? count($soplabels) : 0;
$tweedeid='';
if($aantal > 1) {
$tweede = $soplabels[1];
+2 -2
View File
@@ -57,7 +57,7 @@ class Sortering extends MY_Controller {
$label->sortering_id = $criterium->id;
$label->naam ='niet ingedeeld';
$label->volgorde = 'LAATST';
array_push($labels, $label);
if (is_array($labels)) array_push($labels, $label);
$criterium->labels = $labels;
}
@@ -74,7 +74,7 @@ class Sortering extends MY_Controller {
$label->sortering_id = $criteriumid;
$label->naam ='niet ingedeeld';
$label->volgorde = 'LAATST';
array_push($labels, $label);
if (is_array($labels)) array_push($labels, $label);
$swv = $this->Organisaties_model->get_record_by_id($swvid);
$swv->kamers = $this->Organisaties_model->getorgsvanaf($swvid);
@@ -273,7 +273,7 @@ class Streefcijfers extends MY_Controller{
}
$ambitie = $this->Ambities_model->mh_get_ambities($module, $this->globorgid, $this->globorgid);
if($ambitie) $ambities = array_merge($ambities,$ambitie);
if($ambitie) $ambities = is_array($ambities) ? array_merge($ambities,$ambitie) : null; // PHP 7 gaf null bij $ambities === false
else{
$standaardSWVNodig = true;
$orgversie = $this->Orgversies_model->getOrgVersie($this->globorgid, $module);
@@ -345,6 +345,7 @@ class Streefcijfers extends MY_Controller{
// $ambitie->aantalY = $this->Ijkpunten_model->telijkpunten($ambitie->orgversieID);
}
}
if (empty($orgversie)) $orgversie = new stdClass(); // PHP 7 maakte hier impliciet een object aan
$orgversie->aantalY = $this->Ijkpunten_model->telijkpunten($orgversie->orgversieID);
$orgversie->ambitievan = $org->naamkort;
@@ -478,7 +479,7 @@ class Streefcijfers extends MY_Controller{
// zoek of de ambitie voor een nieuwe organisatie is
$alaanwezig = $this->Ambities_model->check_for_record(array("organisatie_id"=>$this->globorgid,
"orgversie_id" => $this->clean_input("orgversie_id")) );
if ($id ==0 || !$alaanwezig ){
if ((int)$id ==0 || !$alaanwezig ){
$data=array("organisatie_id" => $this->globorgid,
"orgversie_id" => $this->clean_input("orgversie_id"),
"gem_score" => $this->clean_input("gemscore"),
@@ -189,7 +189,7 @@ class Filefolders extends MY_Controller {
}
private function magDelete($fileid){
$owner = $this->Files_model->get(['id'=>$fileid],owner,true);
$owner = $this->Files_model->get(['id'=>$fileid],'owner',true);
if ($owner == $this->userid) return true;
else return false;
}
+1 -1
View File
@@ -43,7 +43,7 @@ class Functies extends MY_Controller
}
}
}
if ($functies && sizeof($functies > 1)) {
if ($functies) {
$test = (array)$functies;
usort($test, array($this, 'opDoelgroep'));
}
@@ -39,7 +39,7 @@ class Organisaties extends MY_Controller{
}
else {
$orgs = $this->Organisaties_model->getuserorgs($this->userid);
if (count($orgs) == 1) $orgs = null; // als er maar 1 organisatie is , kan de gebruiker niet switchen
if (!$orgs || count($orgs) == 1) $orgs = null; // als er maar 1 organisatie is , kan de gebruiker niet switchen
}
echo json_encode($orgs);
}
@@ -227,7 +227,7 @@ class Organisaties extends MY_Controller{
$zoekstr = $this->input->post("zoekstring");
$results = $this->Organisaties_model->zoekorgs($zoekstr);
if (!$results){$errortekst = "Geen resultaten gevonden";};
if (count($results) > 150) {
if ($results && count($results) > 150) {
$errortekst ="Teveel overeenkomende gegevens gevonden. Maak uw zoekcriteria specifieker.";
$results = '';}
echo json_encode(array("results"=>$results, "errortekst" =>$errortekst));
+1 -1
View File
@@ -309,7 +309,7 @@ class Portal extends MY_Controller {
$licenties = array_merge( $ongeclusterd, $clusters);
usort($licenties, array($this, 'opAlfabet'));
usort($keuze, array($this, 'opAlfabet'));
if (is_array($keuze)) usort($keuze, array($this, 'opAlfabet'));
$clusternaam = $this->Licenties_model->get_clusterNaam($clusterId);
$geselecteerd = $this->arrayinArray($licenties, $keuzesarray, $clusterId, $clusternaam);
+1 -1
View File
@@ -49,7 +49,7 @@ class Upload extends MY_Controller {
}
private function sharedUpload($fn, $folder, $module,$docID = false){
$newName = $this->random_str(12);
$fileExists = $this->CheckFileExists($fn['name'], $module);
$fileExists = $this->CheckFileExists(is_array($fn) ? $fn['name'] : '', $module);
// nog afvangen : file exists maar een doc id meegegeven: dan moet de file overschreven worden
$error ='';
if ($fn) {