Files
monpas/application/models/ijkpartituur/Autorisaties_model.php
T
2021-07-10 16:25:16 +02:00

79 lines
1.8 KiB
PHP

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
* Description of Autorisatie_model
*
* @author Theo Weijmer
* @date april 26, 2013 2:21 PM
*
*
*
*/
class Autorisaties_model extends MY_Model{
protected $tablename = 'tb_autorisaties';
function __construct(){
parent::__construct();
$models = array('Autorisatietypes_model');
$this->load->model($models);
}
function check_autorisatie($role, $level){
$this->sql = " SELECT {$role} & {$level} AS level";
$check = $this->get_query_row('level');
return $check;
}
function get_autorisaties($level){
$autotypes = $this->Autorisatietypes_model->get_records_where();
if(!$autotypes) return FALSE;
foreach($autotypes as $autotype){
if($this->check_autorisatie($autotype->autorisatietype_level, $level)){
$autorisaties[] = $autotype->autorisatietype_naam;
}
}
if(!isset($autorisaties)) $autorisaties = FALSE;
return $autorisaties;
}
function check_partituur_access($partituurid, $type){
$read = TRUE;
$write= TRUE;
if(!$this->admin){
$partorgid = $this->Partituurs_model->get_record_by_id($partituurid, 'partituur_organisatie_id');
if($this->globorgid!=$partorgid){
$read = FALSE;
$write= FALSE;
}else{
// aangepast van $this->role naar $this->userrole
if(!$this->check_autorisatie(WRITE, $this->userrole)){
$write = FALSE;
}
}
}
if($type==1){
return $read;
}else{
return $write;
}
}
function get_autorisaties_per_gebruiker($min,$max){
$this->sql = "SELECT id, autorisatietype_level as level, autorisatietype_naam as omschrijving
FROM tb_autorisatietypes
WHERE autorisatietype_level >= {$min}
AND autorisatietype_level <= {$max} ";
return $this->get_query_result();
}
}