updateid; } public function __construct($sopinhoudid, $orgversie = false){ $this->CI =& get_instance(); $this->sopinhoudid = $sopinhoudid; $this->orgversie = $orgversie; $this->handle(); } private function handle(){ $this->setSopinhoud(); $this->setInhoud(); $this->setHoofdstukKeuze(); $this->setSchool(); $this->setVersie(); $this->setViews(); $this->loopViews(); $this->updateContent(); } private function setSopinhoud(){ $this->sopinhoud = $this->CI->Sopinhouden_model->get_record_by_id($this->sopinhoudid); } private function setInhoud(){ $this->content = $this->sopinhoud->content; } private function setHoofdstukKeuze(){ if( $this->orgversie == "false"){ $this->orgversie = $this->sopinhoud->orgversieid;}; $hoofdstukkeuze = new Hoofdstukkeuze($this->sopinhoud->chapter_id, $this->orgversie); $this->hoofdstukkeuze = $hoofdstukkeuze->getHoofdstukKeuze(); } private function setSchool(){ if( !($this->hoofdstukkeuze['data']) ) return; $this->hoofdstukkeuze['data']['school'] = $this->CI->Organisaties_model->get_record_by_id($this->CI->globorgid); } private function setVersie(){ if( !($this->hoofdstukkeuze['data']) ) return; $this->orgversie = $this->CI->Orgversies_model->get_record_by_id($this->sopinhoud->orgversieid); $this->versie = $this->CI->Versies_model->get_record_by_id($this->orgversie->versie_id); $this->versie->naam = $this->versie->naam.', periode: '. $this->orgversie->periodenummer.': '.$this->orgversie->geldigvanaf.' - '.$this->orgversie->geldigtm; $this->hoofdstukkeuze['data']['versie'] = $this->versie; } private function setViews(){ $this->views = $this->CI->Sopviews_model->get_records_where (['soort' =>$this->hoofdstukkeuze['soort']]); } private function loopViews(){ if(! $this->views) return; if( !($this->hoofdstukkeuze['data']) ) return; foreach ($this->views as $index => $this->view) { $this->loadView(); $this->maakAfbeelding(); $this->plaatsVerversteAfbeelding(); } } private function loadView(){ $pad = $this->view->pad; $this->view->tab = $this->CI->load->view("monpas/sopkeuze/" . $pad, ['data' => $this->hoofdstukkeuze['data']], TRUE); } private function maakAfbeelding(){ if ($this->view->type != 'GRA') return; $this->view->grafiek = $this->CI->Phantom_model->create_img($this->view->tab, 'test', FALSE, FALSE, array(650, 0)); //ls okt 2020 $this->imagedata = ""; $this->imagedata = ""; } private function plaatsVerversteAfbeelding(){ $afbeelding = ''; if($this->view->type === 'GRA'){ $afbeelding = $this->imagedata; } if($this->view->type === 'TAB'){ $afbeelding = $this->view->tab; } if($afbeelding == '') return; $vervangstart = $this->view->css; $vervangstartlengte = strlen($vervangstart)+2; $vervangeind = $this->view->csseind; $posstart = strpos($this->content,$vervangstart); $posstart = $posstart + $vervangstartlengte; $poseind = strpos($this->content, $vervangeind); $lengte = $poseind - $posstart - 12; // de div, het woord class etc. if (strpos($this->content, $vervangstart)) { $this->content = substr_replace($this->content, $afbeelding, $posstart, $lengte); } } private function updateContent(){ if( !($this->hoofdstukkeuze['data'])) return false; $data = ['content' => $this->content]; $this->CI->Sopinhouden_model->update_record( $data, $this->sopinhoudid); } }