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); } }