32            foreach (
$module->attr_collections as $coll_i => $coll) {
 
   33                if (!isset($this->info[$coll_i])) {
 
   34                    $this->info[$coll_i] = array();
 
   36                foreach ($coll as $attr_i => $attr) {
 
   37                    if ($attr_i === 0 && isset($this->info[$coll_i][$attr_i])) {
 
   39                        $this->info[$coll_i][$attr_i] = array_merge(
 
   40                            $this->info[$coll_i][$attr_i],
 
   45                    $this->info[$coll_i][$attr_i] = $attr;
 
   50        foreach ($this->info as 
$name => $attr) {
 
   65        if (!isset($attr[0])) {
 
   71        for (
$i = 0; isset($merge[
$i]); 
$i++) {
 
   72            if (isset($seen[$merge[
$i]])) {
 
   75            $seen[$merge[
$i]] = 
true;
 
   77            if (!isset($this->info[$merge[
$i]])) {
 
   80            foreach ($this->info[$merge[
$i]] as 
$key => $value) {
 
   81                if (isset($attr[
$key])) {
 
   86            if (isset($this->info[$merge[
$i]][0])) {
 
   88                $merge = array_merge($merge, $this->info[$merge[
$i]][0]);
 
  104        $processed = array();
 
  106        foreach ($attr as $def_i => 
$def) {
 
  112            if (isset($processed[$def_i])) {
 
  117            if ($required = (strpos($def_i, 
'*') !== 
false)) {
 
  119                unset($attr[$def_i]);
 
  120                $def_i = trim($def_i, 
'*');
 
  121                $attr[$def_i] = 
$def;
 
  124            $processed[$def_i] = 
true;
 
  127            if (is_object(
$def)) {
 
  129                $attr[$def_i]->required = ($required || $attr[$def_i]->required);
 
  133            if (
$def === 
false) {
 
  134                unset($attr[$def_i]);
 
  138            if (
$t = $attr_types->get(
$def)) {
 
  140                $attr[$def_i]->required = $required;
 
  142                unset($attr[$def_i]);
 
An exception for terminatinating execution or to throw for unit testing.
Defines common attribute collections that modules reference.
expandIdentifiers(&$attr, $attr_types)
Expands all string identifiers in an attribute array by replacing them with the appropriate values in...
doConstruct($attr_types, $modules)
$info
Associative array of attribute collections, indexed by name.
performInclusions(&$attr)
Takes a reference to an attribute associative array and performs all inclusions specified by the zero...
__construct($attr_types, $modules)
Performs all expansions on internal data for use by other inclusions It also collects all attribute c...
if($modEnd===false) $module