initial commit
This commit is contained in:
@@ -0,0 +1,527 @@
|
||||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/** Organisaties_model januari 2015 */
|
||||
|
||||
class Organisaties_model extends MY_Model{
|
||||
|
||||
|
||||
protected $tablename = 'tb_organisaties';
|
||||
|
||||
function __construct(){
|
||||
parent::__construct();
|
||||
$models = array('');
|
||||
$this->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 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
|
||||
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 O1.naam ";
|
||||
return $this->get_query_result();
|
||||
}
|
||||
|
||||
|
||||
function getorgsdetails($soort, $valtonder){
|
||||
$this->sql="SELECT id, soort, brin, naamkort, naam,
|
||||
plaats,valtonder_id, actief, monbas, mondiv,
|
||||
bijlagefile
|
||||
FROM tb_organisaties
|
||||
WHERE soort = {$soort}
|
||||
AND actief = 1";
|
||||
if ($valtonder) {
|
||||
$this->sql .=" AND 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}";
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user