- 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>
224 lines
8.1 KiB
PHP
224 lines
8.1 KiB
PHP
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
class Nivoprofielen extends MY_controller {
|
|
|
|
function __construct(){
|
|
parent::__construct();
|
|
$models = array('ijkpartituur/Nivoprofielen_model',
|
|
'ijkpartituur/Pijlers_model',
|
|
"ijkpartituur/ModActiviteiten",
|
|
"ijkpartituur/Versies_model",
|
|
'ijkpartituur/Niveaus_model');
|
|
$this->load->model($models);
|
|
$this->load->library('monpas/kleurcodes');
|
|
if ( ! $this->check_online_status() ) {
|
|
echo json_encode( array('offline' => TRUE) );
|
|
die;
|
|
};// if
|
|
}
|
|
|
|
public function index(){
|
|
}
|
|
|
|
function getNiveaus($versieID=false){
|
|
if (!$versieID ) { $versieID = $this->globProfielVersieID; };
|
|
$niveaus = $this->Nivoprofielen_model->get_profielen_niveaus($versieID);
|
|
return $niveaus;
|
|
}
|
|
function getPijlerprofiel(){
|
|
$nivo = $this->uri->segment(4);
|
|
$pijlerprofiel=$this->Nivoprofielen_model->get_profielen_profiel($nivo);
|
|
echo json_encode(array('pijlerprofiel' =>$pijlerprofiel));
|
|
}
|
|
function savePijlerProfiel(){
|
|
$niveauID=$this->input->post('niveauID');
|
|
$profielArray = $this->input->post("pijlerwaarden");
|
|
foreach ($profielArray as $profiel){
|
|
$data =array('niveauID' =>$niveauID,
|
|
'pijlerID' => $profiel['pijlerID'],
|
|
'waarde' => $profiel['waarde']);
|
|
$id = $profiel['profielID'];
|
|
if ($id == 0){ $this->Nivoprofielen_model->save_record($data,false); }
|
|
else { $this->Nivoprofielen_model->save_record($data, $id); };
|
|
}; // for each
|
|
}
|
|
function getVersies(){
|
|
$versies=$this->Versies_model->get_versies();
|
|
return $versies;
|
|
}
|
|
function getPijlers($versieID=false){
|
|
if (!$versieID) {$versieID = $this->globProfielVersieID;} ;
|
|
$versieID = 1;
|
|
|
|
if ($this->super ) {
|
|
$naam="gebruikersactiviteiten" ;
|
|
$pijlernul= array("id" => 0,
|
|
"volgorde" => 0,
|
|
"naam" => "Gebruikersactiviteiten/inhouden",
|
|
"omschrijving" => 'activiteiten aangemaakt door niet-framework gebruikers');
|
|
$pijlers=$this->Pijlers_model->get_pijlers($versieID);
|
|
if (is_array($pijlers)) array_push($pijlers, $pijlernul);
|
|
}
|
|
else{
|
|
$pijlers= array(array("id" => 0,
|
|
"volgorde" => 0,
|
|
"naam" => "Eigen activiteiten/inhouden",
|
|
'omschrijving' => "activiteiten aangemaakt door de gebruikers van de eigen organisatie"));
|
|
};
|
|
echo json_encode($pijlers);
|
|
}
|
|
function getPijlers2($versieID=false){
|
|
if (!$versieID) { $versieID = $this->globProfielVersieID;} ;
|
|
$pijlers=$this->Pijlers_model->get_pijlers($versieID);
|
|
return $pijlers;
|
|
}
|
|
function getActiviteiten(){
|
|
$pijlerid=$this->uri->segment(4);
|
|
$activiteiten = $this->Activiteiten_model->get_activiteiten_per_pijler(0,$pijlerid);
|
|
echo json_encode($activiteiten);
|
|
}
|
|
function saveVersion(){
|
|
$data = $this->clean_input();
|
|
$vID = $this->clean_input('id');
|
|
$this->Versies_model->update_record($data, $vID);
|
|
}
|
|
function saveNewVersion(){
|
|
$fromID= -1;
|
|
$copyJN=true;
|
|
if($this->uri->segment(3) == 'false') {$copyJN= false; };
|
|
$data=$this->clean_input();
|
|
$laatsteVersieID=-1;
|
|
|
|
if ($copyJN==true){
|
|
$laatsteVersieID = $this->Versies_model->get_laatste_record();
|
|
$where = array("fw_versie" =>$laatsteVersieID);
|
|
$laatsteOTypen = $this->Niveaus_model->get_last_niveaus($laatsteVersieID);
|
|
$laatstePijlers = $this->Pijlers_model->get_last_pijlers($laatsteVersieID);
|
|
}; // if copyjn
|
|
$newVersieID = $this->Versies_model->insert_record($data);
|
|
$newVersie = $this->Versies_model->get_record_by_id($newVersieID,false,true);
|
|
//NU INSERT kopieen
|
|
if ($copyJN==true){
|
|
foreach($laatstePijlers as $Pijler){
|
|
$data = array("volgorde" => $Pijler->volgorde,
|
|
"naam" => $Pijler->naam,
|
|
"omschrijving" =>$Pijler->omschrijving,
|
|
"fw_versie" => $newVersieID,
|
|
"actief" => 1 );
|
|
$newID = $this->Pijlers_model->insert_record($data);
|
|
if ($fromID <=-1) {$fromID=$newID;};
|
|
$laatsteProfielen = $this->Nivoprofielen_model->get_last_profielen($Pijler->id);
|
|
foreach($laatsteProfielen as $Profiel){
|
|
$data = array("niveauID " => $Profiel->niveauID,
|
|
"pijlerID" => $newID,
|
|
"waarde" => $Profiel->waarde);
|
|
$this->Nivoprofielen_model->insert_record($data);
|
|
}
|
|
}; // for each laatste Pijlers
|
|
foreach ($laatsteOTypen as $OType){
|
|
$data=array("nummer" => $OType->nummer,
|
|
"omschrijving" => $OType->omschrijving,
|
|
"fw_versie" => $newVersieID,
|
|
"actief" =>1);
|
|
$newID = $this->Niveaus_model->insert_record($data);
|
|
$this->Nivoprofielen_model->update_niveau($OType->id, $newID,$fromID);
|
|
}; // for each OTypen
|
|
};
|
|
echo json_encode(array('newVersie'=>$newVersie));
|
|
}
|
|
|
|
function deleteVersion(){
|
|
if(!$this->Autorisaties_model->check_autorisatie($this->user_role, SUPERUSER) <=0) return;
|
|
$ID = $this->uri->segment(4);
|
|
// delete Niveaus
|
|
$where = array("fw_versie" =>$ID);
|
|
$this->Niveaus_model->delete_record_where($where);
|
|
//delete profielen, zoek eerst de pijlers, verwijder dan de profielen
|
|
$Pijlers =$this->Pijlers_model->get_records_where($where);
|
|
foreach($Pijlers as $Pijler) {
|
|
$where= array("pijlerID" =>$Pijler->id);
|
|
$this->Nivoprofielen_model->delete_record_where($where);
|
|
}; // foreach
|
|
$where= array("fw_versie" =>$ID);
|
|
$this->Pijlers_model->delete_record_where($where);
|
|
$this->Versies_model->delete_record($ID);
|
|
}
|
|
function GetAll(){
|
|
if(!$this->Autorisaties_model->check_autorisatie($this->user_role, SUPERUSER) <=0) return;
|
|
|
|
$versieID = $this->uri->segment(4);
|
|
$versies='';
|
|
if ($versieID == 0) {
|
|
$versies = $this->getVersies();
|
|
$versieID = $versies[0]->id;
|
|
};
|
|
|
|
$niveaus = $this->getNiveaus($versieID);
|
|
$pijlers = $this->getPijlers2($versieID);
|
|
$kleurcodes = $this->kleurcodes->getkleurcodesfromdatabase();
|
|
echo json_encode(array( 'versies' =>$versies,
|
|
'niveaus' =>$niveaus,
|
|
'pijlers' =>$pijlers,
|
|
"kleurcodes"=> $kleurcodes));
|
|
}
|
|
function DeleteNiveaus(){
|
|
$NiveauID = $this->uri->segment(4);
|
|
//1. delete pijlerprofielen
|
|
$where= array("niveauID" =>$NiveauID);
|
|
$this->Nivoprofielen_model->delete_record_where($where);
|
|
//2. delete niveau
|
|
$this->Niveaus_model->delete_record($NiveauID);
|
|
}
|
|
function AddNiveau(){
|
|
$where=array( 'nummer' => $this->clean_input("nummer"),
|
|
"omschrijving" => $this->clean_input("omschrijving"),
|
|
"fw_versie" => $this->clean_input("versie"),
|
|
'actief' => 1);
|
|
$newID = $this->Niveaus_model->insert_record($where);
|
|
$newRecord = $this->Niveaus_model->get_record_by_id($newID);
|
|
echo json_encode($newRecord);
|
|
}
|
|
function SaveNiveau(){
|
|
$id = $this->clean_input("id");
|
|
$data = array("nummer" => $this->clean_input('nummer'),
|
|
"omschrijving" => $this->clean_input('omschrijving') );
|
|
$this->Niveaus_model->update_record($data,$id);
|
|
}
|
|
function DeletePijler(){
|
|
// verwijder eerst het bijbehorende pijlerprofiel
|
|
// verwijder dan de pijler
|
|
$niveauID = $this->uri->segment(5);
|
|
$pijlerID = $this->uri->segment(4);
|
|
$where =array("niveauID" => $niveauID,
|
|
"pijlerID" => $pijlerID);
|
|
$this->Niovprofielen_model->delete_record_where($where);
|
|
$this->Pijlers_model->delete_record($pijlerID);
|
|
}
|
|
function SavePIJler(){
|
|
$id = $this->input->post("id");
|
|
$data=array('volgorde' =>$this->clean_input("volgorde"),
|
|
'naam' => $this->clean_input("naam"));
|
|
$this->Pijlers_model->update_record($data, $id);
|
|
}
|
|
function SaveProfiel(){
|
|
$id = $this->input->post("id");
|
|
$data=array('waarde' =>$this->input->post("waarde") );
|
|
$this->Nivoprofielen_model->update_record($data, $id);
|
|
}
|
|
function AddPijler(){
|
|
// add de pijler en add dan, indien nodig het rocrd voor profiel
|
|
$where=array( 'volgorde' => $this->clean_input("volgorde"),
|
|
"naam" => $this->clean_input("pijlernaam"),
|
|
"fw_versie" => $this->clean_input("versie"));
|
|
$newID = $this->Pijlers_model->insert_record($where);
|
|
$newRecord = $this->Pijlers_model->get_record_by_id($newID);
|
|
if ($this->input->post("niveauID") > 0){
|
|
$where=array("niveauID" => $this->input->post("niveauID" ),
|
|
"pijlerID" => $newID,
|
|
'waarde ' => 1);
|
|
$newProfID = $this->Nivoprofielen_model->insert_record($where);
|
|
$newRecord->profielID = $newProfID;
|
|
};
|
|
echo json_encode($newRecord);
|
|
}
|
|
} |