/** * Filter roles * @param ilObject $object */ protected function filterRoles(ilObject $source) { global $rbacreview; include_once './Services/DidacticTemplate/classes/class.ilDidacticTemplateFilterPatternFactory.php'; $patterns = ilDidacticTemplateFilterPatternFactory::lookupPatternsByParentId($this->getActionId(), self::PATTERN_PARENT_TYPE); $filtered = array(); foreach ($rbacreview->getParentRoleIds($source->getRefId()) as $role_id => $role) { foreach ($patterns as $pattern) { if ($pattern->valid(ilObject::_lookupTitle($role_id))) { $GLOBALS['ilLog']->write(__METHOD__ . ' Role is valid: ' . ilObject::_lookupTitle($role_id)); $filtered[$role_id] = $role; } } } return $filtered; }
/** * read action data * @global ilDB $ilDB * @return bool */ public function read() { global $ilDB; if (!parent::read()) { return false; } $query = 'SELECT * FROM didactic_tpl_abr ' . 'WHERE action_id = ' . $ilDB->quote($this->getActionId()); $res = $ilDB->query($query); while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) { $this->setFilterType($row->filter_type); } // Read filter include_once './Services/DidacticTemplate/classes/class.ilDidacticTemplateFilterPatternFactory.php'; foreach (ilDidacticTemplateFilterPatternFactory::lookupPatternsByParentId($this->getActionId(), self::PATTERN_PARENT_TYPE) as $pattern) { $this->addFilterPattern($pattern); } }