load->model($models); } function is_bg($orgid){ //return TRUE als organisatie is bg $this->sql = "SELECT * FROM tb_organisaties WHERE valtonder_id = {$orgid}"; if($this->get_query_result($this->sql)){ return TRUE; }else{ return FALSE; } } function get_orgnaam($globorgid){ $this->sql ="SELECT naamkort FROM tb_organisaties WHERE id = $globorgid"; $org = $this->get_query_row(); if ($org) {return $org->naamkort;}; } function getallBGs(){ $this->sql="SELECT O.id, brin, naam, naamkort, plaats, (SELECT count(OU.id) FROM tb_orgusers OU WHERE OU.organisatie_id = O.id ) AS aantal FROM tb_organisaties O WHERE O.id = valtonder_id AND actief = 1 AND O.id <> 1 ORDER BY valtonder_id, UPPER(naamkort)"; return $this->get_query_result(); } function getScholen($bgID){ $this->sql ="SELECT O.id, brin, naam, naamkort, plaats, (SELECT count(OU.id) FROM tb_orgusers OU WHERE OU.organisatie_id = O.id ) AS aantal, (SELECT count(IFS.id) FROM tb_indicatorscores IFS WHERE IFS.organisatie_id = O.id) AS aantalscores, (SELECT count(SK.id) FROM tb_schoolkenmerken SK WHERE SK.organisatie_id = O.id) AS aantalkenmerken FROM tb_organisaties O WHERE O.id <> {$bgID} AND valtonder_id = {$bgID} AND actief = 1 ORDER BY UPPER(naamkort)"; return $this->get_query_result(); } function getOrganisatie($orgid){ $this->sql ="SELECT O.id, brin, naam, naamkort, plaats, soort, valtonder_id , (SELECT count(OU.id) FROM tb_orgusers OU WHERE OU.organisatie_id = O.id ) AS aantal FROM tb_organisaties O WHERE id=$orgid AND actief = 1"; return $this->get_query_row(); } function checkbrin($orgid=false, $brin){ $this->sql =" SELECT COUNT(id) as aantal FROM tb_organisaties WHERE lower(brin) = lower('{$brin}')"; if ($orgid){ $this->sql .=" AND id <> {$orgid}"; }; return $this->get_query_row(); } function checkdeleteok($bgid){ $this->sql="SELECT COUNT(id) as aantal FROM tb_organisaties WHERE valtonder_id = {$bgid} AND id <> {$bgid}"; $scholen = $this->get_query_row(); if ($scholen->aantal > 0) {return false ;} else{ // controleer of er gebruikers zijn $this->sql = "SELECT count(id) as aantal FROM tb_orgusers WHERE organisatie_id = {$bgid}"; $users = $this->get_query_row(); if ($users->aantal > 0) {return false ;} else {return true; }; } } function getallorgs(){ $this->sql="SELECT id, naamkort, brin, plaats FROM tb_organisaties WHERE actief = 1 ORDER BY UPPER(naamkort)"; // in de query nog een check op orguser? hoeft nu niet omdat deze functie alleen werkt voor super en helpdesk // voor andere users zie de functie hieronder getuserorgs return $this->get_query_result(); } function getuserorgs($userid){ $this->sql="SELECT O.id, naamkort, brin, plaats FROM tb_organisaties O JOIN tb_orgusers OU ON OU.organisatie_id = O.id JOIN tb_autorisaties A ON A.orguser_id = OU.id JOIN tb_autorisatienivos AN ON AN.id = A.nivo_id WHERE OU.user_id = {$userid} AND AN.nivo > 0"; return $this->get_query_result(); } function getorgs($soort, $valtonderid = FALSE, $actief = FALSE){ $this->sql="SELECT id, naam,naamkort, brin,valtonder_id, soort,plaats FROM tb_organisaties WHERE soort = {$soort} AND id <> 1"; if ($valtonderid) { $this->sql .=" AND valtonder_id = {$valtonderid} " ; } if ($actief){ $this->sql .= " AND actief = 1" ; } return $this->get_query_result(); } function getscholenonderkamer($kamerid){ $this->sql="SELECT O.id, O.soort, O.naam as fullname, O.naamkort, O.plaats, O.brin FROM tb_organisaties O JOIN tb_organisaties BG ON O.valtonder_id = BG.id WHERE BG.valtonder_id = {$kamerid} AND O.actief = 1 AND O.soort = 4 ORDER BY BG.naamkort, O.naamkort"; return $this->get_query_result(); } function getscholenonderswv($swvid){ $this->sql="SELECT O.id, O.naam as fullname, O.naamkort, O.plaats, O.brin FROM tb_organisaties O JOIN tb_organisaties BG ON O.valtonder_id = BG.id JOIN tb_organisaties K ON BG.valtonder_id = K.id AND K.valtonder_id = {$swvid} AND O.actief = 1 AND O.soort =4 ORDER BY O.naamkort"; return $this->get_query_result(); } function getorgsonderbestuurMetLicentie( $orgid, $module){ $this->sql="SELECT O.id, O.soort, O.naam as fullname, O.naamkort, O.plaats, O.brin FROM tb_organisaties O JOIN tb_licenties L ON O.id = L.orgid JOIN tb_licenties L2 ON O.valtonder_id = L2.orgid WHERE valtonder_id = {$orgid} AND id <> {$orgid} AND actief = 1 AND L.module = {$module} AND L2.module = {$module} ORDER BY naamkort"; return $this->get_query_result(); } function getScholenOnderKamerMetLicentie($kamerid, $module){ $this->sql="SELECT O.id, O.soort, O.naam as fullname, O.naamkort, O.plaats, O.brin FROM tb_organisaties O JOIN tb_organisaties BG ON O.valtonder_id = BG.id JOIN tb_licenties L ON O.id = L.orgid JOIN tb_licenties L2 ON BG.valtonder_id = L2.id WHERE BG.valtonder_id = {$kamerid} AND O.actief = 1 AND O.soort = 4 AND L.module = {$module} AND L2.module = {$module} ORDER BY O.naamkort"; return $this->get_query_result(); } function getScholenOnderSwvMetLicentie($swvid, $module){ $this->sql="SELECT O.id, O.naam as fullname, O.naamkort, O.plaats, O.brin FROM tb_organisaties O JOIN tb_organisaties BG ON O.valtonder_id = BG.id JOIN tb_organisaties K ON BG.valtonder_id = K.id JOIN tb_licenties L ON O.id = L.orgid JOIN tb_licenties L2 ON K.valtonder_id = L2.orgid AND K.valtonder_id = {$swvid} AND L.modulenr = {$module} AND L2.modulenr = {$module} AND O.actief = 1 AND O.soort = 4 ORDER BY O.naamkort"; return $this->get_query_result(); } function getorgsvanaf( $toplevelid,$sublevelid = false){ $this->sql="SELECT id, soort, naam, naamkort, plaats,brin FROM tb_organisaties WHERE valtonder_id = {$toplevelid} AND id <> {$toplevelid} AND actief = 1 "; if ($sublevelid) {$this->sql .=" AND id ={$sublevelid} " ; } ; $this->sql .= " ORDER BY naamkort "; return $this->get_query_result(); } function get_schoolIDs_onder($orgid){ $this->sql="SELECT DISTINCT(SCHOOL.id) as id FROM tb_organisaties SCHOOL JOIN tb_organisaties BESTUUR ON SCHOOL.valtonder_id = BESTUUR.id JOIN tb_organisaties KAMER ON BESTUUR.valtonder_id = KAMER.id WHERE (BESTUUR.id = {$orgid} OR KAMER.id = {$orgid} OR KAMER.valtonder_id = {$orgid}) AND SCHOOL.soort = 4 AND SCHOOL.actief = 1"; ; return $this->get_query_result(); } function getorgsvanafmetlicentie( $toplevelid, $licentie){ $this->sql="SELECT O.id, O.soort, O.naam, O.naamkort, O.plaats, O.brin FROM tb_organisaties O JOIN tb_licenties L ON O.id = L.orgid WHERE valtonder_id = {$toplevelid} AND O.id <> {$toplevelid} AND L.modulenr = {$licentie} AND O.actief = 1 ORDER BY O.naamkort"; return $this->get_query_result(); } function getorgsonderbestuur( $orgid){ $this->sql="SELECT id, soort, naam as fullname, naamkort, plaats,brin FROM tb_organisaties WHERE valtonder_id = {$orgid} AND id <> {$orgid} AND actief = 1 ORDER BY naamkort"; return $this->get_query_result(); } function getorg($orgid){ $this->sql="SELECT id, soort, naam, naamkort, plaats, valtonder_id , brin FROM tb_organisaties WHERE id = {$orgid} AND actief = 1"; return $this->get_query_row(); } function getbgsonderswv($swvid){ $this->sql="SELECT O1.id, O1.soort, O1.naam, O1.plaats, O1.actief, O2.naamkort AS kamer FROM tb_organisaties O1 JOIN tb_organisaties O2 ON O2.id = O1.valtonder_id JOIN tb_organisaties O3 ON O3.id = O2.valtonder_id WHERE O3.id = {$swvid} AND O1.id <> O3.valtonder_id AND O2.id <> O2.valtonder_id AND O1.actief = 1 ORDER BY O2.naamkort, O1.naamkort "; return $this->get_query_result(); } function getorgsdetails($soort, $valtonder){ $this->sql="SELECT O.id, O.soort, O.brin, O.naamkort, O.naam, O.plaats, O.valtonder_id, O.actief, O.monbas, O.mondiv, O.bijlagefile, SD.email1 FROM tb_organisaties O LEFT JOIN tb_schooldetails SD ON O.id = SD.organisatie_id WHERE O.soort = {$soort} AND O.actief = 1"; if ($valtonder) { $this->sql .=" AND O.valtonder_id = {$valtonder} "; }; return $this->get_query_result(); } function getorgdetails($id){ $this->sql="SELECT id, soort, brin, naamkort, naam, plaats,valtonder_id, actief,monbas, mondiv FROM tb_organisaties WHERE id= {$id} ORDER BY naamkort "; return $this->get_query_row(); } function hasdependent($orgid){ $this->sql="SELECT count(id) AS aantal FROM tb_organisaties WHERE valtonder_id = {$orgid} AND id <> valtonder_id"; $res = $this->get_query_row(); if ($res && $res->aantal > 0) {return true;} else {return false;}; } function zoekorgs($zoekstring){ $this->sql = "SELECT brin, naamkort, plaats , soort, id FROM tb_organisaties WHERE (UPPER(naam) LIKE concat('%', UPPER('{$zoekstring}'),'%') ) OR (UPPER(naamkort) LIKE concat('%', UPPER('{$zoekstring}'),'%') ) AND actief = 1 ORDER BY naamkort"; return $this->get_query_result(); } function getuserorgOUD($userid){ // deze functie is vervallen omdat nu een gebruiker lid kan zijn van meerdere organisaties $this->sql="SELECT O.id, naam,soort,valtonder_id FROM tb_organisaties O JOIN tb_orgusers OU ON OU.organisatie_id = O.id WHERE OU.user_id = {$userid}"; return $this->get_query_row(); } function getsoortvanorginalorg($userid){ $this->sql = "SELECT O.soort FROM tb_orgusers OU JOIN tb_organisaties O ON O.id=OU.organisatie_id WHERE OU.user_id = {$userid}"; $org = $this->get_query_row(); return $org->soort; } function getorgs2($orgid){ $this->sql = "SELECT O.id as orgid, O.naamkort as fullname, O.brin FROM tb_organisaties O WHERE O.valtonder_id = $orgid AND O.id <> $orgid AND O.actief = 1 ORDER BY O.naamkort "; return $this->get_query_result(); } function getall(){ $this->sql="Select * from tb_organisaties"; return $this->get_query_result(); } function getkamer($orgid){ $organisatie = $this->get_record_by_id($orgid); if ($organisatie->soort == 1) {return null;}; if ($organisatie->soort == 2) {return $orgid; }; if ($organisatie->soort == 3) {return $organisatie->valtonder_id;}; if ($organisatie->soort == 4) { $organisatie=$this->get_record_by_id($organisatie->valtonder_id); return $organisatie->valtonder_id; }; } function getorgsonder($orgid){ $this->sql = "SELECT id, soort, valtonder_id, actief FROM tb_organisaties WHERE valtonder_id ={$orgid} AND id != valtonder_id AND actief = 1;"; return $this->get_query_result(); } function getscholenondertarget($orgid){ if (!isset($idlijst)) {$idlijst = array();}; $orgs= $this->getorgsonder($orgid); if ($orgs){ foreach($orgs as $org) { if ($org->soort ==4 ) {$idlijst[] = $org->id;} } foreach($orgs as $org){ if ($org->soort < 4) { $idlijst=array_merge($idlijst, $this->getscholenondertarget($org->id));} } } return $idlijst; } function getscholenondertarget2($orgid){ $idlijst = array(); $organisatie = $this->get_record_by_id($orgid); if ($organisatie->soort == 1){ $kamers = $this->getorgsonder($organisatie->id); if ($kamers){ foreach($kamers as $kamer){ $bgs = $this->getorgsonder($kamer->id); if ($bgs){ foreach($bgs as $bg){ $scholen = $this->getorgsonder($bg->id); if ($scholen){ foreach($scholen as $school){ $idlijst[] = $school->id; } }; // if scholen }; // foreach }; // if bgs } } } if ($organisatie->soort == 2){ $bgs = $this->getorgsonder($organisatie->id); if ($bgs){ foreach($bgs as $bg){ $scholen = $this->getorgsonder($bg->id); if ($scholen){ foreach($scholen as $school){ $idlijst[] = $school->id; } }; // if scholen }; // foreach }; // if bgs }; //if orgsoort if ($organisatie->soort == 3){ $scholen = $this->getorgsonder($organisatie->id); if ($scholen){ foreach($scholen as $school){ $idlijst[] = $school->id; } }; // if scholen }; //if orgsoort if ($organisatie->soort == 4){ $idlijst[] = $organisatie->id; } return $idlijst; } function getorgstructuur($orgid, $actief=FALSE){ $organisatie = $this->getorg($orgid); if ($organisatie->soort ==1){ $swv = $organisatie; $swv->kamers = $this->getorgs(2, $swv->id, $actief); if ($swv->kamers){ foreach($swv->kamers as $kamer){ $kamer->bgs = $this->getorgs(3, $kamer->id, $actief); if ($kamer->bgs){ foreach ($kamer->bgs as $bg){ $bg->scholen = $this->getorgs(4, $bg->id, $actief); }; // foreach bg }; // if bgs }; // foreach $kamer }; // if kamers }; // if soort ==1; if ($organisatie->soort == 2){ $swv = new stdClass; $swv->kamers = array(); $swv->kamers[0] = $organisatie; foreach($swv->kamers as $kamer){ $kamer->bgs = $this->getorgs(3, $kamer->id, $actief); if ($kamer->bgs){ foreach($kamer->bgs as $bg){ $bg->scholen = $this->getorgs(4, $bg->id, $actief); };// foreach bg }; // if bgs }; // foreach }; // if soort ==2 if ($organisatie->soort==3){ $swv = new stdClass; $swv->kamers = array(); $swv->kamers[0]= new stdClass; $swv->kamers[0]->bgs = array(); $swv->kamers[0]->bgs[0] = $organisatie; $swv->kamers[0]->bgs[0]->scholen = $this->getorgs(4, $organisatie->id, $actief); } if ($organisatie->soort==4){ $swv = new stdClass; $swv->kamers = array(); $swv->kamers[0]= new stdClass; $swv->kamers[0]->bgs = array(); $swv->kamers[0]->bgs[0] = new stdClass; $swv->kamers[0]->bgs[0]->scholen = array(); $swv->kamers[0]->bgs[0]->scholen[0]= $organisatie; } return $swv; } function get_swvid ($orgid){ $valtonder_id = $this->get(['id'=>$orgid], 'valtonder_id', true); if ($valtonder_id != $orgid){ return $this->get_swvid($valtonder_id); } // else { return $orgid; // } } function getlistrecursief($orgid,$lijst){ $lijst = array_merge($lijst, array($orgid)); $this->sql = " SELECT id FROM tb_organisaties WHERE valtonder_id = {$orgid} AND id <> {$orgid} AND actief = 1"; $newlijst = $this->get_query_result(); if ($newlijst){ foreach($newlijst as $newid){ $lijst= $this->getlistrecursief($newid->id, $lijst); } } return $lijst; } function getKleurcodesOrg($clusterid = FALSE, $swvid){ if (! $clusterid) $clusterid = 0; $sql = " SELECT * FROM tb_kleurcodes KC WHERE (organisatie_id = {$swvid} OR organisatie_id = 0) AND (cluster_id = {$clusterid}) order by organisatie_id desc, cluster_id DESC limit 1"; $query = $this->db->query($sql); $codes = $query->row(); return $codes; } }