load->model($models); $this->load->helper('string'); if ( ! $this->check_online_status() ) { echo json_encode( array('offline' => TRUE) ); die; };// if } function getperiodesperschool(){ if (!$this->userid) die; $versies = array(); $organisatie=$this->Organisaties_model->get_record_by_id($this->globorgid); $module = $this->session->userdata('module'); $modulenaam = $this->Modules_model->get_fieldvalue(['id'=>$module],'naamkort'); $modulenaam = str_replace(' ', '', $modulenaam); $gaverder = true; // zoek verder omdat er nog geen actieve versie is // zoek eerst de reeds ingevulde versies // zoek dan de actieve versie // als de actieve versie nog niet bij de ingevulde versies zit, voeg die dan toe. $versies = $this->Filledversions_model->getfilledversionsperorg($organisatie->id, $module); if ($versies){ foreach($versies as $versie){ if ($versie->actief){$gaverder = false;}; } }; if ($gaverder){ // zoek de actieve versie $BGid = $this->Organisaties_model->get_fieldvalue(array("id" => $this->globorgid), 'valtonder_id'); $actieveversie = $this->Orgversies_model->getallorgversies($BGid,$module,true); if (!$actieveversie){ $KamerID = $this->Organisaties_model->get_fieldvalue(array("id" =>$BGid), 'valtonder_id'); $actieveversie = $this->Orgversies_model->getallorgversies($KamerID,$module,true); if (!$actieveversie){ $SWVID = $this->Organisaties_model->get_fieldvalue(array("id" =>$KamerID), 'valtonder_id'); $actieveversie = $this->Orgversies_model->getallorgversies($SWVID, $module,true); } // merge de actieveversie als die gevonden is if (!$versies ) {$versies = array();}; if (!$actieveversie) {$actieveversie = array();}; $versies = array_merge($actieveversie, $versies); } }; echo json_encode(array("versies"=>$versies, "soort"=>$organisatie->soort, "module" => $modulenaam)); } function getperiodesperschoolvanuitpartituur(){ if (!$this->userid) die; $versies = array(); $organisatie=$this->Organisaties_model->get_record_by_id($this->globorgid); $module = $this->uri->segment(4); // dit hier gezet worden omdat de partituur zelf een module is $gaverder = true; // zoek verder omdat er nog geen actieve versie is // zoek eerst de reeds ingevulde versies // zoek dan de actieve versie // als de actieve versie nog niet bij de ingevulde versies zit, voeg die dan toe. $versies = $this->Filledversions_model->getfilledversionsperorg($organisatie->id, $module); if ($versies){ foreach($versies as $versie){ if ($versie->actief){$gaverder = false;}; } }; if ($gaverder){ // zoek de actieve versie $BGid = $this->Organisaties_model->get_fieldvalue(array("id" => $this->globorgid), 'valtonder_id'); $actieveversie = $this->Orgversies_model->getallorgversies($BGid,$module,true); if (!$actieveversie){ $KamerID = $this->Organisaties_model->get_fieldvalue(array("id" =>$BGid), 'valtonder_id'); $actieveversie = $this->Orgversies_model->getallorgversies($KamerID,$module,true); if (!$actieveversie){ $SWVID = $this->Organisaties_model->get_fieldvalue(array("id" =>$KamerID), 'valtonder_id'); $actieveversie = $this->Orgversies_model->getallorgversies($SWVID, $module,true); } // merge de actieveversie als die gevonden is if (!$versies ) {$versies = array();}; if (!$actieveversie) {$actieveversie = array();}; $versies = array_merge($actieveversie, $versies); } }; echo json_encode(array("versies"=>$versies, "soort"=>$organisatie->soort)); } function getperiodes(){ if (!$this->userid) die; $versies = false; $organisatie=$this->Organisaties_model->get_record_by_id($this->globorgid); $soort = $organisatie->soort; $module = $this->session->userdata('module'); if ($soort == 4) { $versies = $this->Filledversions_model->getfilledversionsperorg($organisatie->id, $module); $BGid = $this->Organisaties_model->get_fieldvalue(array("id" => $this->globorgid), 'valtonder_id'); $versies = $this->Orgversies_model->getallorgversies($BGid,$module); if (!$versies ){ $KamerID = $this->Organisaties_model->get_fieldvalue(array("id" =>$BGid), 'valtonder_id'); $versies = $this->Orgversies_model->getallorgversies($KamerID,$module); } $gaverder = $this->Orgversies_model->getallorgversies($BGid, $module, TRUE); if (!$versies ){ $SWVID = $this->Organisaties_model->get_fieldvalue(array("id" =>$KamerID), 'valtonder_id'); $versies = $this->Orgversies_model->getallorgversies($SWVID, $module); } } echo json_encode(array("versies"=>$versies, "soort"=>$soort)); } function getlistitems(){ if (!$this->userid) die; $orgversieid = $this->uri->segment(4); $orgversie = $this->Orgversies_model->get_record_by_id($orgversieid); // haal de ijkpunten op waar de scores onder moeten komen $listijkpunten = $this->Ijkpunten_model->getijkpunten1($orgversie->versie_id); // zoek op of er al scores zijn ingevuld (via filledversion) $fillerid =false; $orgid = $this->globorgid; //er moet altijd gezocht worden op orgid omdat de gebruiker tot verschillende organisaties kan behoren if ($orgversie->vorm == 2) $fillerid = $this->userid; $filledversion = $this->Filledversions_model->getfilledversion($orgversieid, $orgid,$fillerid, $orgversie->vorm); if (!$filledversion){ // start een nieuwe filledversion $userid= null; if ($orgversie->vorm == 2) {$userid = $this->userid;}; $data = array( "orgversie_id" => $orgversie->id, "organisatie_id" => $this->globorgid, "user_id" => $userid); $newid = $this->Filledversions_model->insert_record($data); $filledversion = $this->Filledversions_model->getfilledversionbyid($newid); // start een nieuwe set van score-records if ($listijkpunten){ foreach($listijkpunten as $ijkpunt){ $this->MaakScoreRecords($ijkpunt->id,$filledversion->id, $orgversie->scoretype); }; //foreach }; //if }; // if not fillversion // als er al wel een filledversion is, haal dan de scores op if ($listijkpunten) { foreach($listijkpunten as $ijkpunt){ $ijkpunt->indicatorscores = $this->Scores_model->getscores($ijkpunt->id, $filledversion->id,$orgversie->vorm); if ($ijkpunt->indicatorscores){ foreach($ijkpunt->indicatorscores as $score){ if ($score->scoretype != 1){$score->score= substr($score->score, 0, strlen($score->score) -2 ); }; if ($score->scoretype ==1) {$score->score= str_replace('.',',',$score->score); }; }; //for each }; // if scores }; //foreach }; if ($listijkpunten) { $scoreopties = $this->Antwoordopties_model->getAntwoordopties($orgversie->scoretype); } $writer = $this->Autorisaties_model->check_write(); echo json_encode(array("ijkpunten" => $listijkpunten, "notitie" => $filledversion->notitie, "fvid" => $filledversion->id, "meetellen" => $filledversion->meetellen, "scoreopties" => $scoreopties, "writer" => $writer) ); } function MaakScoreRecords($ijkpuntid, $filledversionid, $scoretype){ $indicators = $this->Indicatoren_model->getindicatoren($ijkpuntid); if ($indicators){ foreach($indicators as $indicator){ $data=array( "filledversion_id" =>$filledversionid, "ijkpunt_id" => $ijkpuntid, "indicator_id" => $indicator->id, "score" => 0, "scoretype" =>$scoretype); $this->Scores_model->insert_record($data); } } } function updatescore(){ //TODO clean input if (!$this->userid) die; $scoreid = $this->clean_input("indicatorscoreid"); $score = str_replace(',','.',$this->clean_input("score")); // $this->deleteOordeel($scoreid); $scorerecord = $this->Scores_model->get_record_by_id($scoreid); $this->Oordelen_model->delete_record_where(array("ijkpunt_id"=>$scorerecord->ijkpunt_id, "filledversion_id"=>$scorerecord->filledversion_id)) ; $this->Scores_model->update_record(array("score" => $score), $scoreid); } function savenotitie(){ // TODO Clean input if (!$this->userid) die; $notitie = $this->clean_input('notitie'); $fvid = $this->clean_input('fvID'); if ($fvid){ $this->Filledversions_model->update_record(array("notitie"=>$notitie), $fvid); } } function lijstmeetellen(){ if (!$this->userid) die; $meetellen = $this->clean_input('meetellen'); $fvid = $this->clean_input('fvID'); if($fvid) $this->Filledversions_model->update_record(array('meetellen' =>$meetellen), $fvid); } function printlijst(){ $inputstring = $this->input->post('data'); $input = json_decode($inputstring); $module = $input->module; $info = $input->info; $tabel = $input->tabel; $notitie = $input->notitie; $zichtbaar = $input->zichtbaar; $data = []; $data['module'] = $module; $data['info'] = $info; $data['tabel'] = $tabel; $data['notitie'] = $notitie; $data['zichtbaar'] = $zichtbaar; $data['today'] = date("d-m-Y"); $data['organisatie'] = ''; $organisatie = $this->Organisaties_model->get_orgnaam($this->globorgid); if($organisatie) $data['organisatie'] = $organisatie; $filenaam = $input->filenaam; $html=$this->load->view("monpas/reports/printlijst.php", $data, true); $this->Phantom_model->create_pdf($html,$filenaam, FALSE,FALSE,FALSE); } }