Modules Permissions

0

I have this class but at the time of comparing if there is this permission inside the return of the array, it appears that it does not have any.

The permission is listed in the array.

class Permission{

    var $Permission = array();
    var $table = 'permissoes';//Nome tabela onde ficam armazenadas as permissões
    var $pk = 'idPermissao';// Nome da chave primaria da tabela
    var $select = 'permissoes';// Campo onde fica o array de permissoes.

    public function  __construct() {
        log_message('debug', "Permission Class Initialized");
        $this->CI =& get_instance();
        $this->CI->load->database();

    }

    public function checkPermission($idPermissao = null,$atividade = null){

        echo $idPermissao;


        if($idPermissao == null || $atividade == null){
            return false;
        }
        // Se as permissões não estiverem carregadas, requisita o carregamento
        if($this->Permission == null){
            // Se não carregar retorna falso
            if(!$this->loadPermission($idPermissao)){
                return false;
            }
        }

        if(is_array($this->Permission[0])){


            //echo $atividade."<br><br>";
            echo "<pre>";
            print_r($this->Permission[0]);
            echo "</pre>";
            //die();

            if(array_key_exists($atividade, $this->Permission[0])){
                // compara a atividade requisitada com a permissão.
                if ($this->Permission[0][$atividade] == 1) {
                    return true;
                } else {
                    return false;
                }
            }
            else{
                return false;
            }
        }
        else{
            return false;
        }

    }
    private function loadPermission($id = null){

        if($id != null){
            $this->CI->db->select($this->table.'.'.$this->select);
            $this->CI->db->where($this->pk,$id);
            $this->CI->db->limit(1);
            $array = $this->CI->db->get($this->table)->row_array();

            if(count($array) > 0){

                $array = unserialize($array[$this->select]);
                //Atribui as permissoes ao atributo permission
                $this->Permission = array($array);
                return true;


            }
            else{
                return false;
            }

        }
        else{
            return false;
        }

    }
}

The print_r listing was as follows:

Array
(
    [0] => aCedentes
    [1] => eCedentes
    [2] => dCedentes
    [3] => vCedentes
    [4] => aUsuarios
    [5] => eUsuarios
    [6] => dUsuarios
)

In this case, it should have been TRUE and not FALSE .

    
asked by anonymous 20.07.2015 / 23:49

0 answers