This is the API documentation for concrete5 version 5.6 and earlier. View Current API Documentation
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 
<?php
defined('C5_EXECUTE') or die("Access Denied.");
abstract class Concrete5_Model_PermissionAccessEntity extends Object {
    
    public function getAccessEntityTypeID() {return $this->petID;}
    public function getAccessEntityTypeObject() {
        return PermissionAccessEntityType::getByID($this->petID);
    }
    public function getAccessEntityTypeHandle() {return $this->petHandle;}
    public function getAccessEntityID() {return $this->peID;}
    public function getAccessEntityLabel() {return $this->label;}
    abstract public function getAccessEntityUsers(PermissionAccess $pa);
    abstract public function getAccessEntityTypeLinkHTML();
    abstract public static function getAccessEntitiesForUser($user);
    
    public function validate(PermissionAccess $pae) {
        return true;    
    }
    
    final static function getByID($peID) {
        $obj = CacheLocal::getEntry('permission_access_entity', $peID);
        if ($obj instanceof PermissionAccessEntity) {
            return $obj;
        }
        $db = Loader::db();
        $r = $db->GetRow('select petID, peID from PermissionAccessEntities where peID = ?', array($peID));
        if (is_array($r)) {
            $pt = PermissionAccessEntityType::getByID($r['petID']);
            if (!is_object($pt)) {
                return false;
            }
            $class = Loader::helper('text')->camelcase($pt->getAccessEntityTypeHandle());
            $class .= 'PermissionAccessEntity';
            $obj = new $class();
            $r['petHandle'] = $pt->getAccessEntityTypeHandle();
            $obj->setPropertiesFromArray($r);
            $obj->load();
        }
        CacheLocal::set('permission_access_entity', $peID, $obj);
        return $obj;
    }
    
    public static function getForUser($user) {
        $entities = array();
        $db = Loader::db();
        $types = PermissionAccessEntityType::getList();
        foreach($types as $t) {
            $entities = array_merge($entities, $t->getAccessEntitiesForUser($user));            
        }
        return $entities;
    }
}