/** * A helper function used by castingHelperPair() to build the cache. * @param array */ public function buildCastingHelperCache(&$cache) { $class = $this->class; $classes = ClassInfo::ancestry($class); foreach ($classes as $componentClass) { if ($componentClass == "ViewableData") { $isViewableData = true; } if ($componentClass == "DataObject") { $isDataObject = true; } if (isset($isDataObject) && $isDataObject) { $fields = eval("return {$componentClass}::\$db;"); if ($fields) { foreach ($fields as $fieldName => $fieldSchema) { $cache[$fieldName] = ViewableData::castingObjectCreatorPair($fieldSchema); } } } if (isset($isViewableData) && $isViewableData) { $fields = eval("return {$componentClass}::\$casting;"); if ($fields) { foreach ($fields as $fieldName => $fieldSchema) { $cache[$fieldName] = ViewableData::castingObjectCreatorPair($fieldSchema); } } } } }
/** * A helper function used by castingHelperPair() to build the cache. * @param array */ public function buildCastingHelperCache(&$cache) { $class = $this->class ? $this->class : get_class($this); $classes = ClassInfo::ancestry($class); foreach ($classes as $componentClass) { if ($componentClass == "ViewableData") { $isViewableData = true; } if ($componentClass == "DataObject") { $isDataObject = true; } if (isset($isDataObject) && $isDataObject) { $fields = Object::uninherited_static($componentClass, 'db'); if ($fields) { foreach ($fields as $fieldName => $fieldSchema) { $cache[$fieldName] = ViewableData::castingObjectCreatorPair($fieldSchema); } } } if (isset($isViewableData) && $isViewableData) { $fields = Object::uninherited_static($componentClass, 'casting'); if ($fields) { foreach ($fields as $fieldName => $fieldSchema) { $cache[$fieldName] = ViewableData::castingObjectCreatorPair($fieldSchema); } } } } }