load->model( $models ); $this->load->helper( 'string' ); $this->load->library( 'monpas/kleurcodes' ); if ( ! $this->check_online_status() ) { echo json_encode( ['offline' => TRUE] ); die; };// if } function getModule(){ $module = $this->session->userdata('module'); echo json_encode($module); } function savegewenst() { //TODO clean input if ( ! $this->userid ) die; $orgid = $this->clean_input( "orgid" ); $orgversieid = $this->clean_input( "orgversionid" ); $orguserid = $this->clean_input( "orguserid" ); if ( $orguserid == 0 ) { $orguserid = NULL; } $wensarray = $this->clean_input( "wensarray" ); $wensids[] = ""; // array van ids om terug te geven if ( $wensarray ) { foreach ( $wensarray as $wens ) { if ( $wens['wensid'] > 0 ) { $data = ["wens" => $wens['gewenst']]; $this->Wenssituaties_model->update_record( $data, $wens['wensid'] ); $wensids[] = $wens['wensid']; } else { $data = [ "organisatie_id" => $orgid, "orgversie_id" => $orgversieid, "orguser_id" => $orguserid, "ijkpunt_id" => $wens['ijkpuntid'], "wens" => $wens['gewenst']]; $wensids[] = $this->Wenssituaties_model->insert_record( $data ); } }; // foreach echo json_encode( $wensids ); } } // save gewenst function getscores() { if ( ! $this->userid ) die; // deze functie wijkt af van getscores in rapijkpunten omdat ook gewenst moet // worden opgehaald, en geen ambities $orgversieid = $this->clean_input( "orgversieid" ); $orgid = $this->clean_input( "orgid" ); $organisatie = $this->Organisaties_model->getorg( $orgid ); $scores = NULL; $gewenst = NULL; $orgversie = $this->Orgversies_model->get_record_by_id($orgversieid); if($orgversie->scoretype == 7){ $grens1 = 33; $grens2 = 66; $grens3 = 100; } // als de organisatie een school is : haal de gemiddelde score op (als de 'ik-versie" wordt gebruikt // let op als ik-versie dan moeten de gegevens van de users worden opgehaald maar // dat gaat vanzelf omdat gezocht wordt naar organisatie (via filled versions); // let op ja nee bezig wordt vertaald naar 10, 0 en 5 if ( ! $organisatie ) { echo json_encode( ['scores' => FALSE] ); return; } if ( $organisatie->soort == 1 || $organisatie->soort == 2 || $organisatie->soort == 3 ) { $schoolids = $this->Organisaties_model->getscholenondertarget( $organisatie->id ); if ( $schoolids ) { $lijst = implode( ',', $schoolids ); } } if ( $organisatie->soort == 4 ) { $lijst = $organisatie->id; // } $scores = $this->Scores_model->getgemscores( $orgversieid, $lijst); if ( $scores ) { $gewenst = $this->Wenssituaties_model->getgewenst( $orgversieid, $orgid ); } // haal ook nog de criteria van de organisatie op if ( $scores ) { foreach ( $scores as $score ) { if(! isset($score->gem)) $score->gem = 0; // if ( $score->num > 0 ) // { // $score->gem = round( $score->somscore / $score->num, 1 ); // } $score->huidig = $this->kleurcodes->getnummer( $score->gem ); if($orgversie->scoretype == 7){ if($score->gem == $grens3) $score->huidig = 4; if($score->gem < $grens3) $score->huidig = 3; if($score->gem <= $grens2) $score->huidig = 2; if($score->gem <= $grens1) $score->huidig = 1; } }; if ( count($gewenst) > 0 ) { $i = 0; foreach ( $scores as $score ) { if($gewenst[$i]){ $score->gewenstid = $gewenst[$i]->id; $score->gewenst = $gewenst[$i]->wens; $i = $i + 1; } }; //foreach } } echo json_encode( ['scores' => $scores] ); } // getscores function checkSchrijfrechtenOrg() { if ( ! $this->userid ) die; $orgid = $this->clean_input( 'orgid' ); $orgsoort = $this->clean_input( 'orgsoort' ); $werktEr = $this->Orgusers_model->check_for_record( ["user_id" => $this->userid, "organisatie_id" => $orgid] ); $rechten = FALSE; if($this->super){ $rechten = TRUE; } if ($werktEr) { if ( pow( 4, $orgsoort ) == $this->userrole) { $rechten = TRUE; } if($orgsoort == 1 || $orgsoort ==2 || $orgsoort == 3){ $rechten = TRUE; } } echo json_encode( $rechten ); } function scoresindividueel() { if ( ! $this->userid ) die; // deze functie wijkt af van getscores in rapijkpunten omdat ook gewenst moet // worden opgehaald, en geen ambities $orgversieid = $this->clean_input( "orgversie" ); $orgid = $this->clean_input( "orgid" ); $orguserid = $this->clean_input( "orguserid" ); $userid = $this->Orgusers_model->get_fieldvalue( ["id" => $orguserid], "user_id" ); $organisatie = $this->Organisaties_model->getorg( $orgid ); $scores = NULL; $gewenst = NULL; // als de organisatie een school is : haal de gemiddelde score op (als de 'ik-versie" wordt gebruikt // let op als ik-versie dan moeten de gegevens van de users worden opgehaald maar // dat gaat vanzelf omdat gezocht wordt naar organisatie (via filled versions); // let op ja nee bezig wordt vertaald naar 10, 0 en 5 $scores = $this->Scores_model->calculateindividualscores( $orgversieid, $orgid, $userid ); // haal ook nog de criteria op if ( ! $scores ) $scores = FALSE; // $genoeg = $this->telScoresSchool( $scores ); // if ( ! $genoeg ) return; foreach ( $scores as $score ) { $score->gem = 0; if ( $score->num > 0 ) { $score->gem = round( $score->somscore / $score->num, 1 ); } $score->huidig = $this->kleurcodes->getnummer( $score->gem ); }; // foreach scores $gewenst = $this->Scores_model->getgewenstindividueel( $orgid, $orgversieid, $orguserid ); if ( $gewenst ) { $i = 0; foreach ( $scores as $score ) { $score->gewenstid = $gewenst[ $i ]->id; $score->gewenst = $gewenst[ $i ]->wens; $i = $i + 1; }; //foreach } echo json_encode( ['scores' => $scores] ); } // getscores function checkindividueelschrijfrecht() { if ( ! $this->userid ) die; $orguserid = $this->uri->segment( 4 ); $userid = $this->Orgusers_model->get_fieldvalue( ["id" => $orguserid], "user_id" ); if ( $userid == $this->userid ) { echo json_encode( TRUE ); } else { echo json_encode( FALSE ); } } function printontwikkelmatrix() { if ( ! $this->userid ) die; $inputstring = $this->input->get( 'json' ); $input = json_decode( $inputstring ); $today = date( "d-m-Y" ); $organisatie = $this->Organisaties_model->getorg( $input->orgid ); $periode = $this->Orgversies_model->get_record_by_id( $input->orgversieid ); $geldigvanaf= mysql2date( $periode->geldigvanaf ); $geldigtm = mysql2date( $periode->geldigtm ); $naam = $geldigvanaf . ' t/m ' . $geldigtm; $resultaten = $input->resultaten; if ( $resultaten ){ foreach ( $resultaten as $resultaat ) { $resultaat->ijkpunt = $this->Ijkpunten_model->get_fieldvalue( ["id" => $resultaat->ijkpuntid], "omschrijving" ); } } $instrument = $this->Modules_model->get_fieldvalue( ["sysnr" => $this->module], "naam" ); $labels = $this->Labels_model->getalllabels(); $kleurtabel = $this->kleurcodes->getkleurlegenda(); $data = [ "instrument" => $instrument, "organisatie" => $organisatie, "periodenaam" => $naam, "vandaag" => $today, "resultaten" => $resultaten, "labels" => $labels, "info" => $input->orgversie, "docentnaam" => $input->user, "kleurtabel" => $kleurtabel]; // var_dump($data); // exit; $html = $this->load->view( "monpas/reports/ontwikkelmatrix", $data, TRUE ); $filenaam = "ontwikkelmatrix"; $this->Phantom_model->create_pdf( $html, $filenaam, FALSE, FALSE, FALSE ); } }