load->model($models); $this->load->helper("string"); $this->load->library('monpas/kleurcodes'); if ( ! $this->check_online_status() ) { echo json_encode( array('offline' => TRUE) ); die; };// if } function index(){ $reports= $this->Reports_model->get_reports_by_level(); echo json_encode(array('reports'=>$reports)); } private function maakPDF ($naam,$orientation,$pdf,$post,$titel=false){ if (!$orientation){ $orientation = "portrait" ;}; $data = array( 'url' => base_url()."index.php/ijkpartituur/reports/PDF".$naam.'/'.$pdf.'/0?data='.$post, 'filename' => $naam.'.pdf' , 'orientation' => $orientation , 'header' => $this->load->view('ijkpartituur/reports/default_header', $titel) , 'margins' =>array("1.5cm", "1.5cm", "1.5cm", "1.0cm") ); $this->Phantom2_model->get_pdf($data); } // hieronder de functie om een report te maken als een format. // deze functie (Public function HierdeNaam ) kan gecopieerd worden // vul de naam van het gewenste rapport in public function PDFHierdeNaam(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $post = $this->input->get('data'); if ($init==1) { $titel =array("titeltekst" => ""); $this->maakPDF('','portrait',$pdf,$post,$titel); } else { $criteria=json_decode($this->input->get("data")) ; // hier dan de database activiteiten die nodig zijn voor het report // maar de array data om door te geven aan de view $x; $y; $data = array( 'x' =>$x, 'y' =>$y); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/_view", $data, TRUE); echo $html; }; }; // else } public function PDFmensen(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $post = $this->input->get('data'); //var_dump($post); if ($init==1) { $titel =array("titeltekst" => "Mensen in tijd"); $this->maakPDF('mensen','landscape',$pdf,$post,$titel); } else { $criteria=json_decode($this->input->get("data")) ; // hier dan de database activiteiten die nodig zijn voor het report $terugwaarde = $this->MaakBackground($criteria->van, $criteria->tot, $criteria->periode); $i=0; foreach($criteria->orgusers as $cMens){ if (!isset($mensen[$i])) $mensen[$i]= new stdClass; $mensen[$i]->naam = $cMens->fullname; // hier maak de html voor each mens // 1. get de activiteiten $Verant = $this->Modpartactiviteiten->get_activiteiten_per_user($cMens->id, $criteria->partituur->id); $Uitv = $this->Modpartactxorgusers->get_activiteiten_per_user($cMens->id, $criteria->partituur->id); //2. combineer de gegevens voor de html $mensen[$i]->html = $this->MaakMensIntijd(clone $terugwaarde['vandag'], $terugwaarde['totdag'], $Verant, $Uitv,$cMens, $terugwaarde['pxperdag']); $i++; }; $data = array('partituur' =>$criteria->partituur, "van" =>$criteria->van, "tm" =>$criteria->tot, 'error' =>$terugwaarde['error'], 'px_per_dag'=>$terugwaarde['pxperdag'], 'header2' =>$terugwaarde['matrix']['header2'], 'header1' =>$terugwaarde['matrix']['header1'], 'mensen' =>$mensen); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/mensen_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/mensen_view", $data, TRUE); echo $html; }; }; // else } //************************ // private function MaakMensInTijd($van, $tot, $v, $u, $Mens,$pxperdag){ $nums; $i=0; while (($van->diff($tot)->format('%a') > 0) && $i < 1600){ $actcounter = 0; $vacties = ''; $uacties =''; if ($v){ foreach($v as $taakv){ if ($van->getTimestamp() >= strtotime($taakv->start) && $van->getTimestamp() <= strtotime($taakv->eind) ){ $actcounter =$actcounter + 1; $vacties .= $taakv->naam . ";"; }; // if };// foreach } if ($u){ foreach ($u as $taaku){ if ($van->getTimestamp() >= strtotime($taaku->start) && $van->getTimestamp() <= strtotime($taaku->eind) ){ $actcounter=$actcounter + 1; $uacties .= $taaku->naam . ";"; }; // if }; // foreach }; if (!isset($nums[$i])) $nums[$i]= new stdClass; $nums[$i]->counter = $actcounter; $nums[$i]->vacts = $vacties; $nums[$i]->uacts = $uacties; $van->add(new DateInterval('P1D')); $i++; }; // while $html= "
". "
" .$Mens->fullname."
" . "
" ; $dikte = 0; if (isset($nums[0]) ) {$dikte= $nums[0]->counter;}; $dagen = 0; foreach ($nums as $num){ if ($num->counter != $dikte){ if ($dikte > 10) {$dikte = 10;}; $html .= "
" ; $dagen = 1; $dikte = $num->counter; $vacts = $num->vacts; $uacts = $num->uacts; } else {$dagen = $dagen + 1; $vacts = $num->vacts; $uacts = $num->uacts;}; }; // for each if ($dikte > 0){ $html .= "
" ; }; // if $html .= "
" ; return $html; } // ***********************// public function PDFmensactief(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $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"); $this->maakPDF('mensactief','portrait',$pdf,$post,$titel); } 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 $partID = $criteria->partituur->id; $pijlers = $this->ModPartPijlers->get_pijlers_per_partituur($partID); foreach ($pijlers as $pijler){ $pijler->activiteiten = $this->Modpartactiviteiten->get_kortelijst($pijler->id); if ($pijler->activiteiten) { foreach($pijler->activiteiten as $activiteit){ $i=0; foreach($criteria->orgusers as $user){ if ($user->id == $activiteit->verantwoordelijke) { $activiteit->actief[$i] = 1; } // if else { $activiteit->actief[$i] = 0; }; $where=array('activiteitID' =>$activiteit->id, "orguserID"=>$user->id); if ($this->Modpartactxorgusers->check_for_record($where)){ $activiteit->actief[$i] = $activiteit->actief[$i] + 2; }; $i ++; } // each orgusers }; // foreach }; //if } $data = array( 'criteria' => $criteria, 'orguser' => $criteria->orgusers, 'pijlers' =>$pijlers); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/mensactief_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/mensactief_view", $data, TRUE); echo $html; }; }; // else } public function PDFinhouden(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $post = $this->input->get('data'); if ($init==1) { $titel =array("titeltekst" => "Inhouden"); $this->maakPDF('inhouden','portrait',$pdf,$post,$titel); } else { $criteria=json_decode($this->input->get("data")) ; $i=0; foreach ($criteria->pijlers as $pijler) { //get pijlernaam if (!isset($pijlers[$i])) $pijlers[$i] = new stdClass; $pijlers[$i]->naam= $this->ModPijlers->get_record_by_id($pijler, "naam",true); $pijlers[$i]->inhouden=$this->ModHulpmiddelen->get_hulpmiddelen_per_pijler($pijler, 0, false); if ($pijlers[$i]->inhouden) { foreach($pijlers[$i]->inhouden as $inhoud){ $where=array("document_hulpmiddel_id" => $inhoud->id); $inhoud->docs = $this->Documents_model->get_details($where); }; }; $i=$i + 1; }; if ($criteria->pijlerNul){ if (!isset($pijlers[$i])) $pijlers[$i] = new stdClass; $pijlers[$i]->naam= "gebruikersactiviteiten"; $pijlers[$i]->inhouden=$this->ModHulpmiddelen->get_hulpmiddelen_per_pijler(0, 0, false); if ($pijlers[$i]->inhouden) { foreach($pijlers[$i]->inhouden as $inhoud){ $where=array("document_hulpmiddel_id" => $inhoud->id); $inhoud->docs = $this->Documents_model->get_details($where); }; }; }; $data = array( 'pijlers' =>$pijlers, 'details' =>$criteria->details); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/inhouden_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/inhouden_view", $data, TRUE); echo $html; }; }; // else } public function PDFsactiviteiten(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $post = $this->input->get('data'); if ($init==1) { $titel =array("titeltekst" => "Kennisbank activiteiten"); $this->maakPDF('sactiviteiten','portrait',$pdf,$post,$titel); } else { $criteria=json_decode($this->input->get("data")) ; // hier dan de database activiteiten die nodig zijn voor het report // maar de array data om door te geven aan de view $i=0; foreach ($criteria->pijlers as $pijler) { //get pijlernaam if (!isset($pijlers[$i])) $pijlers[$i] = new stdClass; $pijlers[$i]->naam= $this->ModPijlers->get_record_by_id($pijler, "naam",true); $pijlers[$i]->activiteiten=$this->Modactiviteiten->get_activiteiten_per_pijler($pijler, 0, false); if ($pijlers[$i]->activiteiten){ foreach($pijlers[$i]->activiteiten as $activiteit){ if ($activiteit->email_pleider == 1) {$activiteit->email_pleider="projectleider";} else {$activiteit->email_pleider = "";}; if ($activiteit->email_verantwoordelijke == 1) {$activiteit->email_verantwoordelijke="verantwoordelijke";} else {$activiteit->email_verantwoordelijke = "";}; $activiteit->inhouden= $this->ModActHulp->middelen_per_activiteit($activiteit->id); $activiteit->doelgroepen = $this->ModActDoel->doelgroepen_per_activiteit($activiteit->id); $activiteit->kosten =$this->ModKosten->get_kosten_per_activiteit($activiteit->id); }; }; $i = $i + 1; }; if ($criteria->pijlerNul){ if (!isset($pijlers[$i])) $pijlers[$i] = new stdClass; $pijlers[$i]->naam= "gebruikersactiviteiten"; $pijlers[$i]->activiteiten=$this->Modactiviteiten->get_activiteiten_per_pijler(0, 0, false); if ($pijlers[$i]->activiteiten){ foreach($pijlers[$i]->activiteiten as $activiteit){ if ($activiteit->email_pleider == 1) {$activiteit->email_pleider="projectleider";} else {$activiteit->email_pleider = "";}; if ($activiteit->email_verantwoordelijke == 1) {$activiteit->email_verantwoordelijke="verantwoordelijke";} else {$activiteit->email_verantwoordelijke = "";}; $activiteit->inhouden= $this->ModActHulp->middelen_per_activiteit($activiteit->id); $activiteit->doelgroepen = $this->ModActDoel->doelgroepen_per_activiteit($activiteit->id); $activiteit->kosten =$this->ModKosten->get_kosten_per_activiteit($activiteit->id); }; }; } $data = array( 'pijlers' =>$pijlers, "details" =>$criteria->details); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/sactiviteiten_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/sactiviteiten_view", $data, TRUE); echo $html; }; }; // else } public function PDForganisaties(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $post = $this->input->get('data'); if ($init==1) { $titel =array("titeltekst" => "Organisaties"); $this->maakPDF('organisaties','landscape',$pdf,$post,$titel); } else { $criteria=json_decode($this->input->get("data")) ; $orgs=array(); $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; }; $data = array( 'orgs' =>$orgs); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/organisaties_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/organisaties_view", $data); echo $html; }; }; // else } Private function MaakBackground($van, $tot, $periode){ $error = ''; $matrix = ""; $dag1=new DateTime(date2mysql($van)); $dag2=new DateTime(date2mysql($tot)); if ($periode == 2) { $dag1->setDate((int)$dag1->format('Y'), (int)$dag1->format('m'),1); $dag2->setDate((int)$dag2->format('Y'), (int)$dag2->format('m'),$this->DagenInMaand( (int)$dag2->format('m'), (int)$dag2->format('Y') ) ); }; if ($periode == 3){ // $dag1->setDate((int)$dag1->format('Y'), (int)$dag1->format('m'),1); $dag1->setDate((int)$dag1->format('Y'), 1,1); $dag2->setDate((int)$dag2->format('Y'), 12, 31 ); } if ($periode == 1) ($px_per_dag = 20); if ($periode == 2) ($px_per_dag = 2); if ($periode == 3) ($px_per_dag = 0.41); $dagen = ($dag1->diff($dag2)->days) + 1; // nodig om te bepalen of de matrix te groot is if (($dagen * $px_per_dag) > 1000){ $error = "Tijdspanne is te lang. Kies andere datums of pas de periode aan."; } else { $matrix=$this->getColumns(clone $dag1,clone $dag2,$periode); }; $returndata = array('error' =>$error, "matrix" => $matrix, 'pxperdag' =>$px_per_dag, 'vandag' => $dag1, 'totdag' => $dag2); return $returndata; } public function PDFplanning(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $post = $this->input->get('data'); if ($init==1) { $titel =array("titeltekst" => "Planning"); $this->maakPDF('planning','landscape',$pdf,$post,$titel); } else { $criteria=json_decode($this->input->get("data")) ; // hier dan de database activiteiten die nodig zijn voor het report // maar de array data om door te geven aan de view $partituurnaam = $this->Partituurs_model->get_record_by_id($criteria->partituur, 'partituur_naam', TRUE); $dag1=new DateTime(date2mysql($criteria->vandatum)); $dag2=new DateTime(date2mysql($criteria->totdatum)); $kleuren =array(); if ($criteria->periode == 2) { $dag1->setDate((int)$dag1->format('Y'), (int)$dag1->format('m'),1); $dag2->setDate((int)$dag2->format('Y'), (int)$dag2->format('m'),$this->DagenInMaand( (int)$dag2->format('m'), (int)$dag2->format('Y') ) ); }; if ($criteria->periode == 3){ // $dag1->setDate((int)$dag1->format('Y'), (int)$dag1->format('m'),1); $dag1->setDate((int)$dag1->format('Y'), 1,1); $dag2->setDate((int)$dag2->format('Y'), 12, 31 ); } $vandag = clone $dag1; $totdag = clone $dag2; $matrix=$this->getColumns($vandag, $totdag,$criteria->periode); $dagen = ($dag1->diff($dag2)->days) +1 ; $px_per_dag = 1100 / $dagen; if ($criteria->periode == 1) ($px_per_dag = 20); if ($criteria->periode == 2) ($px_per_dag = 2); if ($criteria->periode == 3)($px_per_dag = 0.41); if ($criteria->overzicht == 1){ $type="per partituur"; $selectedPijler= ''; $pijlers= $this->ModPartPijlers->pijlers_in_periode($criteria->partituur, date2mysql($criteria->vandatum), date2mysql($criteria->totdatum)); foreach($pijlers as $pijler) { $pijler->kleur = "#975796"; }; } else { $type = "per pijler"; $selectedPijler = $this->ModPartPijlers->get_pijlernaam($criteria->selectedPijler); $pijlers =$this->Modpartactiviteiten->get_activiteiten_per_pijler($criteria->selectedPijler); $kleuren = $this->Modfases->get_kleuren(); }; if ($pijlers) { foreach($pijlers as $pijler){ $dag= new DateTime($pijler->start); $eind = new DateTime($pijler->eind); if ($dag > $dag2 || $eind <= $dag1){$plusfactor = 0 ;} else {$plusfactor = 1 ;} ; if ($dag < $dag1) {$dag = clone $dag1 ;} ; if ($dag > $dag2) {$dag = clone $dag2 ; }; $dagen = ($dag1->diff($dag)->days) ; if ($criteria->periode ==1) {$aantalborders = ($dag1->diff($dag)->days) ; }; if ($criteria->periode == 2) {$aantalborders=($dag1->diff($dag)->format('m')) ;}; if ($criteria->periode == 3) {$aantalborders=($dag1->diff($dag)->format('y')) ;}; $left= ($dagen * $px_per_dag) + 200 ; if ($eind > $dag2) { $eind= clone $dag2 ;}; if ($eind < $dag1 || $eind < $dag) {$eind = clone $dag; }; $dagen = ($dag->diff($eind)->days) + $plusfactor ; $width=($dagen * $px_per_dag ) ; $geefkleur = $pijler->kleur; if (!$pijler->kleur){$geefkleur = '#989898' ;}; $pijler->html="
"; }; }; $dagen = ($dag1->diff($dag2)->days) + 1; // nodig om te bepalen of de matrix te groot is $data = array( 'partituurnaam' => $partituurnaam, 'type' => $type, 'van' =>$criteria->vandatum, 'tm' => $criteria->totdatum, 'selectedPijler' => $selectedPijler, 'pijlers' =>$pijlers, "dagen" =>$dagen, "px_per_dag" =>$px_per_dag, 'header2' =>$matrix['header2'], 'header1' =>$matrix['header1'], 'kleuren' =>$kleuren, 'acts' =>$criteria->overzicht); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/planning_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/planning_view", $data, TRUE); echo $html; }; }; // else } Public function DagenInMaand($maand, $jaar){ $daysInMonth = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); // If evenly divisible by 4 and not evenly divisible by 100, // or is evenly divisible by 400, then a leap year if ((!($jaar % 4) && $jaar % 100) || !($jaar % 400)) { $daysInMonth[1] = 29; }; return $daysInMonth[($maand -1)]; } private function getColumns($van, $tot, $periode){ $MaandArray = array('jan', 'feb','mrt','apr','mei','jun','jul','aug','sep','okt','nov','dec'); $tdatum=$van; $i=0; if ($periode == 1 ) { $switcher = (int)$tdatum->format('m');}; if ($periode == 2) { $switcher = (int)$tdatum->format("Y"); $tdatum->setDate((int)$van->format('Y'), (int)$van->format('m'),1); $tot->setDate((int)$tot->format('Y'), (int)$tot->format('m'),$this->DagenInMaand( (int)$tot->format('m'), (int)$tot->format('Y') ) ); }; if ($periode == 3){ $switcher = (int)$tdatum->format("Y"); $tdatum->setDate((int)$van->format('Y'), (int)$van->format('m'),1); $tot->setDate((int)$tot->format('Y'), 12, 31 ); } $colskop1 = 1; $header1 = array(); $header1[$colskop1 -1] = new stdClass; $header1[$colskop1 -1]->days = 0; while ($tdatum <= $tot && $i < 900){ if ($periode ==1){ if ($switcher != (int)$tdatum->format('m') ) { $switcher = (int)$tdatum->format('m') ; $colskop1 += 1; if (!isset($header1[$colskop1 -1])) $header1[$colskop1 -1]=new stdClass; $header1[$colskop1 -1]->tekst= $MaandArray[ ( (int) $tdatum->format('m') ) - 1] .' '.$tdatum->format('Y');; $header1[$colskop1 -1]->days= 0; } ; if (!isset($header2[$i])) $header2[$i]=new stdClass; $header2[$i]->label=$tdatum->format('d'); $header2[$i]->days= 1; $header2[$i]->datum[$i]=date_format($tdatum, "d-m-y"); $header1[$colskop1 -1]->days= $header1[$colskop1 -1]->days + 1; $header1[$colskop1 -1]->tekst=$MaandArray[ ( (int) $tdatum->format('m') ) - 1] .' '.$tdatum->format('Y'); $i = $i + 1; date_add($tdatum, date_interval_create_from_date_string("1 day")); }; if ($periode ==2){ if ($switcher != (int)$tdatum->format('Y') ) { $switcher = (int)$tdatum->format('Y') ; $colskop1 += 1; $header1[$colskop1 -1]= new stdClass; $header1[$colskop1 -1]->tekst= (int) $tdatum->format('Y'); $header1[$colskop1 -1]->days= 0; } ; if (! isset($header2[$i])) $header2[$i]=new stdClass; $header2[$i]->label = $MaandArray[ ( (int) $tdatum->format('m') ) - 1] ; $header2[$i]->days = $this->DagenInMaand( (int)$tdatum->format('m'), (int)$tdatum->format('Y') ) ; ; $header2[$i]->datum[$i] = date_format($tdatum, "d-m-y"); $header1[$colskop1 -1]->days = $header1[$colskop1 -1]->days + $header2[$i]->days; $header1[$colskop1 -1]->tekst = (int) $tdatum->format('Y'); $i = $i + 1; date_add($tdatum, date_interval_create_from_date_string("1 month")); }; if ($periode ==3){ if ($switcher != (int)$tdatum->format('Y') ) { $switcher = (int)$tdatum->format('Y') ; $colskop1 += 1; if (!isset($header1[$colskop1 -1])) $header1[$colskop1 -1] = new stdClass; $header1[$colskop1 -1]->tekst= (int) $tdatum->format('Y'); $header1[$colskop1 -1]->days= 0; } ; $header2[$i] = new stdClass; $header2[$i]->label = (int) $tdatum->format('Y') ; $header2[$i]->days = 365; $header2[$i]->datum[$i] = date_format($tdatum, "d-m-y"); $header1[$colskop1 -1]->days = $header1[$colskop1 -1]->days + 365; $header1[$colskop1 -1]->tekst = (int) $tdatum->format('Y'); $i = $i + 1; date_add($tdatum, date_interval_create_from_date_string("1 year")); }; }; return array( 'header1' =>$header1, 'header2' =>$header2 ); } public function PDFschoolbeelden(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $post = $this->input->get('data'); if ($init==1) { $titel =array("titeltekst" => "Schoolbeelden"); $this->maakPDF('schoolbeelden','landscape',$pdf,$post,$titel); } else { $criteria=json_decode($this->input->get("data")) ; // hier dan de database activiteiten die nodig zijn voor het report // maar de array data om door te geven aan de view $beelden=$this->Niveaus_model->get_niveaus(); $beelden2=array(); foreach($beelden as $beeld){ if (is_array($criteria->beelden) && in_array($beeld->id, $criteria->beelden) ) { array_push($beelden2 , $beeld); $profielen[] = $this->Nivoprofielen_model->get_profielen_profiel($beeld->id); }; }; $pijlers=array(); $i =0; foreach($profielen[0] as $voorbeeld){ $pijlers[$i]= new stdClass; $pijlers[$i]->naam = $voorbeeld->naam; $pijlers[$i]->score=array(); for ($j=0; $j < count((array)$criteria->beelden );$j++ ){ $pijlers[$i]->score[$j]=$profielen[$j][$i]->waarde; }; $i= $i+1; }; $descriptions=array(); foreach($criteria->beelden as $beeld){ array_push($descriptions , $this->Niveaus_model->get_niveau($beeld)); }; $data = array( 'aantal' =>count((array)$criteria->beelden) , 'beelden' =>$beelden2, 'pijlers' =>$pijlers, 'descriptions' =>$descriptions, "kleurcodes" => $this->kleurcodes->getkleurcodesfromdatabase() ); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/schoolbeelden_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/schoolbeelden_view", $data, TRUE); echo $html; }; }; // else } public function PDFeigenschoolbeeld(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $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" => "Eigen schoolbeeld"); $this->maakPDF('eigenschoolbeeld','portrait',$pdf,$post,$titel); } 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"); // hier dan de database activiteiten die nodig zijn voor het report // maak de array data om door te geven aan de view $partituurID = $criteria->partituurID; $partNaam = $this->Partituurs_model->get_record_by_id($partituurID, "partituur_naam"); $partInfo = $this->Partituurs_model->get_single_details(array('id' =>$partituurID)); $schoolmeterscores = $this->ModRuweScores->get_scores($partituurID); $somhuidig = 0; if ($schoolmeterscores) { foreach($schoolmeterscores as $score){ $somhuidig = $somhuidig + $score->score; }; }; $beeldhuidig = $this->GetBeeld($somhuidig); $pijlers = $this->ModPartPijlers->get_joined_details($partituurID); $gemgewenst = 0; $mingewenst = 0; $maxgewenst = 0; foreach($pijlers as $pijler){ $mingewenst = $mingewenst + $this->GetMin($pijler->gewenst); $maxgewenst = $maxgewenst + $this->GetMax($pijler->gewenst); } $gemgewenst = ($mingewenst + $maxgewenst) / 2; $beeldgewenst = $this->GetBeeld($gemgewenst); $beelden = $this->Niveaus_model->get_niveaus(); foreach ($beelden as $beeld){ $descriptions[]=$this->Niveaus_model->get_niveau($beeld->id); }; $data = array( 'partituurNaam' =>$partNaam, 'partituurInfo' =>$partInfo, 'pijlers' =>$pijlers, 'somhuidig' =>$somhuidig, "beeldhuidig" =>$beeldhuidig, "mingewenst" =>$mingewenst, "maxgewenst" =>$maxgewenst, "beeldgewenst" =>$beeldgewenst, "descriptions" =>$descriptions, 'orgnaam' =>$orgnaam, "kleurcodes" =>$this->kleurcodes->getkleurcodesfromdatabase() ); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/eigenschoolbeeld_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/eigenschoolbeeld_view", $data, TRUE); echo $html; }; }; // else } private function GetBeeld ($res){ if ($res <= 725) {return 1;}; if ($res > 725 && $res <= 880) {return 2;}; if ($res > 880 && $res <=964) {return 3;}; if ($res > 965 && $res <= 1126) {return 4;}; if ($res >1126 && $res <= 1300) {return 5;}; } private function GetBeeldGem($gem){ if ($gem <= 56) {return 1;}; if ($gem > 57 && $gem <= 68) {return 2;}; if ($gem> 69 && $gem <=74) {return 3;}; if ($gem > 75 && $gem <= 87) {return 4;}; if ($gem >88 && $gem <= 100) {return 5;}; } Public function GetColorBijBeeld($s){ if ($s ==1) { return '#f40d17';}; if ($s == 2) {return '#f6f14e';}; if ($s ==3) {return '#f99443';}; if ($s==4) { return'#53d744';}; if ($s ==5) {return '#0d7bfb';}; } Public function GetColor($score){ if ($score <= 50) { return '#f40d17';}; if ($score >50 && $score <= 65) {return '#f6f14e';}; if ($score >65 && $score<= 79) {return '#f99443';}; if ($score>79 && $score<= 90) { return'#53d744';}; if ($score >90 && $score<= 100) {return '#0d7bfb';}; } private function GetMin($code){ if ($code == 1){return 0; } ; if ($code == 2){return 51; } ; if ($code == 3){return 66; } ; if ($code == 4){return 80; } ; if ($code == 5){return 91; } ; } private function GetMax($code){ if ($code == 1){return 50; } ; if ($code == 2){return 65; } ; if ($code == 3){return 79; } ; if ($code == 4){return 90; } ; if ($code == 5){return 100; } ; } public function PDFGebruikers(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $post = $this->input->get('data'); if ($init==1) { $titel =array("titeltekst" => "Gebruikers"); $this->maakPDF('gebruikers','portrait',$pdf,$post,$titel); } else { $criteria=json_decode($this->input->get("data")) ; $i = 0; foreach ($criteria->orgs as $org ){ $orga[$i] =$this->Organisaties_model->get_org_by_id($org); if ($orga[$i]) { if (strlen($this->super) >= 1) {$admin= $this->super;} else {$admin = false;}; $orga[$i]->users=$this->Orgusers_model->get_full_users($org,$this->super); if ($orga[$i]->users) { foreach($orga[$i]->users as $user){ $user->rechten = $this->Autorisaties_model->get_autorisaties($user->level); }; }; $i = $i + 1; }; }; $data = array( 'orgs' =>$orga); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/gebruikers_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/gebruikers_view", $data, TRUE); echo $html; }; }; // else } public function PDFschoolmeterscores(){ $pdf = $this->uri->segment(4); $init = $this->uri->segment(5); $post = $this->input->get('data'); if ($init==1) { $titel =array("titeltekst" => "Schoolmeterscores"); $this->maakPDF('schoolmeterscores','portrait',$pdf,$post,$titel); } else { $criteria=json_decode($this->input->get("data")) ; $pijlers = $this->ModPijlers->get_pijlers($this->globProfielVersieID); $vandatum = date2mysql($criteria->vandatum); $tmdatum = date2mysql($criteria->tmdatum); $i=0; foreach ($pijlers as $pijler){ $gemperpijler[$i]['mean']=0; $gemperpijler[$i]['color']=''; $i++; }; $i = 0; $grandGem =0; $grandProf = 0; foreach ($criteria->orgs as $orgID) { $orgnaam = $this->Organisaties_model->get_record_by_id($orgID,"naamkort"); $partituurID = $this->ModRuweScores->get_partituurID($vandatum,$tmdatum,$orgID); $scholen[$i]['school'] = $orgnaam; if ($partituurID) { $scholen[$i]['scores'] = $this->ModRuweScores->get_scores($partituurID); } else { $scholen[$i]['scores']=NULL; }; $tot = 0; $prof = 0; $aantal = 0; $j = 0; if ($scholen[$i]['scores'] ) { $tot=0; foreach($scholen[$i]['scores'] as $score) { $tot = $tot + $score->score; $grandGem = $grandGem + $score->score; if ( in_array($score->pijlerID, array(1,5,6,7,8,9,10) ) ){ $prof = $prof + $score->score; $grandProf = $grandProf + $score->score; } $aantal = $aantal +1; $gemperpijler[$j]['mean'] =$gemperpijler[$j]['mean'] + $score->score; $j =$j + 1; $score->color = $this->GetColor($score->score); } ; $gem=0; if ($aantal > 0){$gem=round($tot/$aantal , 0) ;} ; $scholen[$i]['scores'][$aantal] = new stdClass; $scholen[$i]['scores'][($aantal + 1)] = new stdClass; $scholen[$i]['scores'][($aantal + 2)] = new stdClass; $scholen[$i]['scores'][$aantal]->score=$gem; $scholen[$i]['scores'][$aantal]->color="#a5a5a5"; $scholen[$i]['scores'][($aantal + 1)]->score = round($prof / 7 , 0); $scholen[$i]['scores'][($aantal + 1)]->color="#a5a5a5"; $scholen[$i]['scores'][($aantal+2)]->score=$this->GetBeeld($tot); switch($scholen[$i]['scores'][($aantal+2)]->score) {case 1: $scholen[$i]['scores'][($aantal+2)]->color="#f40d17"; break; case 2: $scholen[$i]['scores'][($aantal+2)]->color="#f6f14e";; break; case 3: $scholen[$i]['scores'][($aantal+2)]->color="#f99443"; break; case 4: $scholen[$i]['scores'][($aantal+2)]->color="#53d744"; break; case 5: $scholen[$i]['scores'][($aantal+2)]->color="#0d7bfb"; break; default:$scholen[$i]['scores'][($aantal + 1)]->color="#a5a5a5"; }; }; $i = $i + 1; $j = 0; }; $aantal = isset($scholen) ? count( $scholen) : 0; if ($aantal >= 1) { $k=0; foreach($gemperpijler as &$gempijler){ $gempijler['mean']=round($gempijler['mean'] / $aantal, 0); if ($gempijler['mean']<= 50) {$gempijler['color']= '#f40d17';}; if ($gempijler['mean'] >50 && $gempijler['mean'] <= 65) {$gempijler['color'] = '#f6f14e';}; if ($gempijler['mean'] >65 && $gempijler['mean']<= 79) {$gempijler['color']= '#f99443';}; if ($gempijler['mean']>79 && $gempijler['mean'] <= 90) {$gempijler['color'] ='#53d744';}; if ($gempijler['mean'] >90 && $gempijler['mean'] <= 100){$gempijler['color']= '#0d7bfb';}; $k++; }; }; $grandGem = round(($k * $aantal) != 0 ? $grandGem / ($k * $aantal) : 0,0); $grandSchoolbeeld = $this->GetBeeldGem($grandGem ); $grandProf = round($aantal != 0 ? $grandProf / (7 * $aantal) : 0, 0); $SBcolor = $this->GetColorBijBeeld($grandSchoolbeeld); $data = array( 'pijlers' =>$pijlers, 'scholen' =>$scholen, 'gem' =>$gemperpijler, 'criteria' =>$criteria, 'grandGem' => $grandGem, 'grandProf' => $grandProf, 'grandSB' => $grandSchoolbeeld, 'grandSBcolor' => $SBcolor); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/schoolmeterscores_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/schoolmeterscores_view", $data, TRUE); echo $html; }; } } public function PDFactiviteiten(){ $pdf = $this->uri->segment(4); $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; $post = json_encode($post); $titel =array("titeltekst" => "Activiteiten"); $this->maakPDF('Activiteiten','portrait',$pdf,$post,$titel); } 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; }; if (isset($criteria->partituur)) {$partituurID = $criteria->partituur; } else $partituurID =0 ; $pijlerset = array(); $criteria->partNaam = $this->Partituurs_model->get_record_by_id($partituurID, "partituur_naam"); if ( isset($criteria->pijlers) ){ $i=0; foreach($criteria->pijlers as $pijler){ $pijlerset[$i]= new stdClass; $pijlerset[$i]->pijler = $this->ModPartPijlers->get_part_pijler_info($pijler); $pijlerset[$i]->activiteiten = $this->Modpartactiviteiten->get_activiteiten_per_pijler($pijler); if ($pijlerset[$i]->activiteiten) { foreach ($pijlerset[$i]->activiteiten as $activiteit) { $actID = $activiteit->id; $activiteit->uitvoerenden = $this->Modpartactxorgusers->get_uitvoerenden($actID); $activiteit->resultaten = $this->ModPartActResultaten->get_info($actID); $activiteit->inhouden= $this->ModPartActxHulpmiddel->get_hulpmiddelenlijst_per_activiteit($actID); $activiteit->doelgroepen = $this->ModPartActxDoelgroep->get_doelgroepen_per_act($actID); $activiteit->kosten = $this->ModPartActKosten->get_kosten_per_activiteit($actID); $activiteit->afspraken=null; $activiteit->portfolio = $this->ModPortfolio->get_notes($actID); if($criteria->agenda==true){ $activiteit->afspraken=$this->ModAgenda->get_all_items($actID,$criteria->userid,$criteria->userlevel,$criteria->orgid); }; }; }; // $i=$i + 1; }; }; $data = array( 'pijlerset' =>$pijlerset, 'criteria' =>$criteria ); if($pdf){ $data['pdf'] = 1; $this->load->view("ijkpartituur/reports/activiteiten_view", $data); } else{ $html = $this->load->view("ijkpartituur/reports/activiteiten_view", $data, TRUE); echo $html; }; } } public function getOrgs(){ $organisatie = $this->Organisaties_model->get_record_by_id($this->globorgid); if ($organisatie->soort < 4){ $where = array("valtonder_id" =>$this->globorgid); } else { $where= array('id' =>$this->globorgid); } // $orgs=$this->Organisaties_model->get_details($where); if ($organisatie->soort ==4){$orgs = $this->Organisaties_model->getorgs($organisatie->soort , $organisatie->valtonder_id);} else $orgs = $this->Organisaties_model->getorgs($organisatie->soort + 1, $organisatie->id); if ($orgs){ foreach($orgs as $org){ if ($org->plaats == null) {$org->plaats = "onbekend";}; }; }; echo json_encode($orgs); } Public function getOrganisaties(){ $orgid = -1; if ($this->super){$orgid =0; } else {if ($this->globOrgIsBG ){$orgid=$this->globorgid; }; }; if ($orgid >= 0){ $organisaties = $this->Organisaties_model->get_orgs($orgid); if ($organisaties) { foreach ($organisaties as $organisatie){ $organisatie->toon=true; }; }; }; if ($orgid >= 0 ) {echo json_encode( $organisaties); } else {echo FALSE;} ; } public function getPartituren(){ // haal de partituren bij de organisatie op $partituren = $this->Partituurs_model->getPartituren($this->globorgid); echo json_encode($partituren ); } public function getPijlers(){ $partID= $this->uri->segment(4); $pijlers = $this->ModPartPijlers->get_pijlers_per_partituur($partID); echo json_encode($pijlers); } public function getBeelden(){ $beelden=$this->Niveaus_model->get_niveaus(); echo json_encode(array('beelden'=>$beelden)); } public function getPartPijlers(){ // find active partituur if (!$this->partituurid) {return;}; $partituur= $this->Partituurs_model->get_record_by_id($this->partituurid); $partituur->partituur_start=mysql2date($partituur->partituur_start); $partituur->partituur_eind=mysql2date($partituur->partituur_eind); $pijlers=$this->ModPartPijlers->get_pijlers_per_partituur($this->partituurid); echo json_encode(array('partituur' =>$partituur, "pijlers" => $pijlers)); } public function getBGs(){ $bgs = $this->Organisaties_model->get_bgs(); echo json_encode($bgs); } public function getStandaardPijlers(){ $pijlers=$this->ModPijlers->get_pijlers($this->globProfielVersieID); echo json_encode($pijlers); } public function getUsers(){ $users = $this->Orgusers_model->get_org_users($this->globorgid); echo json_encode($users); } public function getActievePartituur(){ $where= array("partituur_actief" => 1, 'partituur_organisatie_id'=>$this->globorgid); $partituur = $this->Partituurs_model->get_records_where($where,TRUE); if ($partituur){ $partituur->partituur_start = MySql2Date($partituur->partituur_start); $partituur->partituur_eind = MySql2Date($partituur->partituur_eind);}; echo json_encode($partituur); } }